diff --git a/app/routers/event_importing.py b/app/routers/event_importing.py index 26484a5..3692ef1 100644 --- a/app/routers/event_importing.py +++ b/app/routers/event_importing.py @@ -331,7 +331,7 @@ async def event_importing_create_update_w_external_id( # ### BEGIN ### Event Importing ### event_importing_program_data() ### # Based on the program import template the clients are given. # Create and update locations, sessions, presentations, and presenters as needed. -# Updated 2023-05-01 +# Updated 2024-03-25 @router.post('/event/{event_id}/importing/program_data', response_model=Resp_Body_Base) async def event_importing_program_data( event_id: str = Query(..., min_length=11, max_length=22), @@ -558,9 +558,9 @@ async def event_importing_program_data( event_location_data['code'] = record.get('location_code') event_location_data['event_id'] = event_id # INSERT and UPDATE the event_id just in case if record.get('location_name'): - event_location_data['name'] = record.get('location_name') + event_location_data['name'] = record.get('location_name').strip() elif record.get('location_code'): - event_location_data['name'] = record.get('location_code') + event_location_data['name'] = record.get('location_code').strip() event_location_data['enable'] = True event_location_id = None @@ -610,10 +610,16 @@ async def event_importing_program_data( """ event_session_data = {} - event_session_data['code'] = record.get('session_code') + if record.get('session_code'): + event_session_data['code'] = record.get('session_code').strip() + else: + event_session_data['code'] = None event_session_data['event_id'] = event_id # INSERT and UPDATE the event_id just in case event_session_data['event_location_id'] = event_location_id # INSERT and UPDATE the event_location_id in case the session was moved - event_session_data['name'] = record.get('session_name') + if record.get('session_name'): + event_session_data['name'] = record.get('session_name').strip() + else: + event_session_data['name'] = None event_session_data['description'] = record.get('session_description') event_session_data['start_datetime'] = record.get('session_start_datetime') @@ -679,11 +685,17 @@ async def event_importing_program_data( """ event_presentation_data = {} - event_presentation_data['code'] = record.get('presentation_code') + if record.get('presentation_code'): + event_presentation_data['code'] = record.get('presentation_code').strip() + else: + event_presentation_data['code'] = None event_presentation_data['event_id'] = event_id # INSERT and UPDATE the event_id just in case event_presentation_data['event_session_id'] = event_session_id # UPDATE the event_session_id in case the presentation was moved - event_presentation_data['name'] = record.get('presentation_name') + if record.get('presentation_name'): + event_presentation_data['name'] = record.get('presentation_name').strip() + else: + event_presentation_data['name'] = None event_presentation_data['description'] = record.get('presentation_description') if record.get('presentation_start_datetime'): @@ -706,38 +718,40 @@ async def event_importing_program_data( event_presentation_data['notes'] = record.get('presentation_notes') event_presentation_id = None - if event_presentation_rec_result := sql_select(data=data, sql=sql): - # Pull out IDs and UPDATE existing event_presentation record - event_presentation_rec = event_presentation_rec_result - event_presentation_id = event_presentation_rec.get('event_presentation_id', None) - event_presentation_id_random = event_presentation_rec.get('event_presentation_id_random', None) - event_presentation_name = event_presentation_rec.get('name', None) - log.info(f'Found one record. Event Presentation ID: {event_presentation_id_random} Event Presentation Name: {event_presentation_name}') + if (record.get('presentation_external_id') or record.get('presentation_code')) and record.get('presentation_name'): + if event_presentation_rec_result := sql_select(data=data, sql=sql): + # Pull out IDs and UPDATE existing event_presentation record + event_presentation_rec = event_presentation_rec_result + event_presentation_id = event_presentation_rec.get('event_presentation_id', None) + event_presentation_id_random = event_presentation_rec.get('event_presentation_id_random', None) + event_presentation_name = event_presentation_rec.get('name', None) + log.info(f'Found one record. Event Presentation ID: {event_presentation_id_random} Event Presentation Name: {event_presentation_name}') - event_presentation_data['id'] = event_presentation_id + event_presentation_data['id'] = event_presentation_id - log.debug(event_presentation_data) + log.debug(event_presentation_data) - if allow_updates: - if event_presentation_obj_up_result := sql_update(data=event_presentation_data, table_name='event_presentation'): - log.debug(event_presentation_obj_up_result) - else: - log.warning(event_presentation_obj_up_result) - pass # Probably nothing to update - else: - log.info(f'No record found that needs to be updated. Creating a new event presentation. Event Presentation External ID: {event_presentation_external_id}') + if allow_updates: + if event_presentation_obj_up_result := sql_update(data=event_presentation_data, table_name='event_presentation'): + log.debug(event_presentation_obj_up_result) + else: + log.warning(event_presentation_obj_up_result) + pass # Probably nothing to update + else: + log.info(f'No record found that needs to be updated. Creating a new event presentation. Event Presentation External ID: {event_presentation_external_id}') - event_presentation_data['external_id'] = event_presentation_external_id # NOTE: This should never change + event_presentation_data['external_id'] = event_presentation_external_id # NOTE: This should never change - log.debug(event_presentation_data) + log.debug(event_presentation_data) + + if allow_inserts: + if event_presentation_obj_in_result := sql_insert(data=event_presentation_data, table_name='event_presentation'): + log.debug(event_presentation_obj_in_result) + event_presentation_id = event_presentation_obj_in_result + else: + log.warning(event_presentation_obj_in_result) + continue # Something unexpected may have happened - if allow_inserts: - if event_presentation_obj_in_result := sql_insert(data=event_presentation_data, table_name='event_presentation'): - log.debug(event_presentation_obj_in_result) - event_presentation_id = event_presentation_obj_in_result - else: - log.warning(event_presentation_obj_in_result) - continue # Something unexpected may have happened data['event_presentation_id'] = event_presentation_id # INSERT or UPDATE event_presenter @@ -782,38 +796,40 @@ async def event_importing_program_data( event_presenter_data['notes'] = record.get('presenter_notes', '') event_presenter_id = None - if event_presenter_rec_result := sql_select(data=data, sql=sql): - # Pull out IDs and UPDATE existing event_presenter record - event_presenter_rec = event_presenter_rec_result - event_presenter_id = event_presenter_rec.get('event_presenter_id') - event_presenter_id_random = event_presenter_rec.get('event_presenter_id_random') - event_presenter_given_name = event_presenter_rec.get('given_name') - log.info(f'Found one record. Event Presenter ID: {event_presenter_id_random} Event Presenter Given Name: {event_presenter_given_name}') + if (record.get('presenter_code') or record.get('presenter_number')) and record.get('presenter_given_name'): + if event_presenter_rec_result := sql_select(data=data, sql=sql): + # Pull out IDs and UPDATE existing event_presenter record + event_presenter_rec = event_presenter_rec_result + event_presenter_id = event_presenter_rec.get('event_presenter_id') + event_presenter_id_random = event_presenter_rec.get('event_presenter_id_random') + event_presenter_given_name = event_presenter_rec.get('given_name') + log.info(f'Found one record. Event Presenter ID: {event_presenter_id_random} Event Presenter Given Name: {event_presenter_given_name}') - event_presenter_data['id'] = event_presenter_id + event_presenter_data['id'] = event_presenter_id - log.debug(event_presenter_data) + log.debug(event_presenter_data) - if allow_updates: - if event_presenter_obj_up_result := sql_update(data=event_presenter_data, table_name='event_presenter'): - log.debug(event_presenter_obj_up_result) - else: - log.warning(event_presenter_obj_up_result) - pass # Probably nothing to update - else: - log.info(f'No record found that needs to be updated. Creating a new event presenter. Event Presenter External ID: {event_presenter_external_id}') + if allow_updates: + if event_presenter_obj_up_result := sql_update(data=event_presenter_data, table_name='event_presenter'): + log.debug(event_presenter_obj_up_result) + else: + log.warning(event_presenter_obj_up_result) + pass # Probably nothing to update + else: + log.info(f'No record found that needs to be updated. Creating a new event presenter. Event Presenter External ID: {event_presenter_external_id}') - event_presenter_data['external_id'] = event_presenter_external_id # NOTE: This should never change + event_presenter_data['external_id'] = event_presenter_external_id # NOTE: This should never change - log.debug(event_presenter_data) + log.debug(event_presenter_data) + + if allow_inserts: + if event_presenter_obj_in_result := sql_insert(data=event_presenter_data, table_name='event_presenter'): + log.debug(event_presenter_obj_in_result) + event_presenter_id = event_presenter_obj_in_result + else: + log.warning(event_presenter_obj_in_result) + continue # Something unexpected may have happened - if allow_inserts: - if event_presenter_obj_in_result := sql_insert(data=event_presenter_data, table_name='event_presenter'): - log.debug(event_presenter_obj_in_result) - event_presenter_id = event_presenter_obj_in_result - else: - log.warning(event_presenter_obj_in_result) - continue # Something unexpected may have happened data['event_presenter_id'] = event_presenter_id data['event_presenter_code'] = event_presenter_code data['event_presenter_number'] = event_presenter_number