Minor changes
This commit is contained in:
@@ -27,6 +27,10 @@ class Event_Location_Base(BaseModel):
|
|||||||
# alias = 'event_location_code'
|
# alias = 'event_location_code'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
external_id: Optional[str] = Field(
|
||||||
|
alias = 'event_location_external_id'
|
||||||
|
)
|
||||||
|
|
||||||
event_id_random: Optional[str]
|
event_id_random: Optional[str]
|
||||||
event_id: Optional[int]
|
event_id: Optional[int]
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ class Event_Presenter_Base(BaseModel):
|
|||||||
hide_event_launcher: Optional[bool]
|
hide_event_launcher: Optional[bool]
|
||||||
|
|
||||||
priority: Optional[bool]
|
priority: Optional[bool]
|
||||||
sort: Optional[int]
|
sort: Optional[int] # The presenter number if given
|
||||||
group: Optional[str]
|
group: Optional[str]
|
||||||
|
|
||||||
notes: Optional[str]
|
notes: Optional[str]
|
||||||
|
|||||||
@@ -337,13 +337,16 @@ async def event_importing_program_data(
|
|||||||
event_id: str = Query(..., min_length=11, max_length=22),
|
event_id: str = Query(..., min_length=11, max_length=22),
|
||||||
file: UploadFile = File(...),
|
file: UploadFile = File(...),
|
||||||
|
|
||||||
|
begin_at: int = 0,
|
||||||
|
end_at: int = 20000,
|
||||||
|
|
||||||
commons: Common_Route_Params = Depends(common_route_params),
|
commons: Common_Route_Params = Depends(common_route_params),
|
||||||
):
|
):
|
||||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
log.debug(locals())
|
log.debug(locals())
|
||||||
|
|
||||||
allow_inserts = False
|
allow_inserts = True
|
||||||
allow_updates = False
|
allow_updates = True
|
||||||
|
|
||||||
account_id = commons.x_account_id
|
account_id = commons.x_account_id
|
||||||
event_location_id = None
|
event_location_id = None
|
||||||
@@ -417,33 +420,36 @@ async def event_importing_program_data(
|
|||||||
'Source ID': 'source_id',
|
'Source ID': 'source_id',
|
||||||
'External ID': 'external_id',
|
'External ID': 'external_id',
|
||||||
|
|
||||||
'Title': 'title_names',
|
'Title': 'presenter_title_names',
|
||||||
'Title Names': 'title_names',
|
'Title Names': 'presenter_title_names',
|
||||||
'Prefix': 'title_names',
|
'Prefix': 'presenter_title_names',
|
||||||
'Informal_name': 'informal_name',
|
'Informal_name': 'presenter_informal_name',
|
||||||
'Nickname': 'informal_name',
|
'Nickname': 'presenter_informal_name',
|
||||||
'given_name (first)': 'given_name',
|
'given_name (first)': 'presenter_given_name',
|
||||||
'Given Name': 'given_name',
|
'Given Name': 'presenter_given_name',
|
||||||
'First Name': 'given_name',
|
'First Name': 'presenter_given_name',
|
||||||
'Middle Name': 'middle_name',
|
'Middle Name': 'presenter_middle_name',
|
||||||
'family_name (last)': 'family_name',
|
'family_name (last)': 'presenter_family_name',
|
||||||
'Family Name': 'family_name',
|
'Family Name': 'presenter_family_name',
|
||||||
'Last Name': 'family_name',
|
'Last Name': 'presenter_family_name',
|
||||||
'Designations': 'designations',
|
'Designations': 'presenter_designations',
|
||||||
'Suffix': 'designations',
|
'Suffix': 'presenter_designations',
|
||||||
|
|
||||||
'Professional Title': 'professional_title',
|
'Professional Title': 'presenter_professional_title',
|
||||||
|
|
||||||
'Affiliations': 'affiliations',
|
'affiliations': 'presenter_presenter_affiliations',
|
||||||
'Company': 'affiliations',
|
'Affiliations': 'presenter_presenter_affiliations',
|
||||||
|
'Company': 'presenter_presenter_affiliations',
|
||||||
|
|
||||||
'Email': 'email',
|
'Email': 'presenter_email',
|
||||||
'Email Address': 'email',
|
'Email Address': 'presenter_email',
|
||||||
'CC Email Address': 'cc_email',
|
'CC Email Address': 'presenter_cc_email',
|
||||||
|
|
||||||
'location_title': 'location_name',
|
'location_title': 'location_name',
|
||||||
'Location Code': 'location_code',
|
'Location Code': 'location_code',
|
||||||
'Location Name': 'location_name',
|
'Location Name': 'location_name',
|
||||||
|
'session_location': 'location_name',
|
||||||
|
'Session Location': 'location_name',
|
||||||
|
|
||||||
'session_title': 'session_name',
|
'session_title': 'session_name',
|
||||||
'Session Code': 'session_code',
|
'Session Code': 'session_code',
|
||||||
@@ -452,6 +458,10 @@ async def event_importing_program_data(
|
|||||||
'presentation_title': 'presentation_name',
|
'presentation_title': 'presentation_name',
|
||||||
'Presentation Code': 'presentation_code',
|
'Presentation Code': 'presentation_code',
|
||||||
'Presentation Name': 'presentation_name',
|
'Presentation Name': 'presentation_name',
|
||||||
|
|
||||||
|
'Presenter Code': 'presenter_code',
|
||||||
|
'Presenter Number': 'presenter_number', # for sorting
|
||||||
|
'Presenter Name': 'presenter_name',
|
||||||
},
|
},
|
||||||
inplace = True)
|
inplace = True)
|
||||||
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
@@ -459,17 +469,24 @@ async def event_importing_program_data(
|
|||||||
|
|
||||||
df_dict = df.to_dict(orient='records')
|
df_dict = df.to_dict(orient='records')
|
||||||
|
|
||||||
|
loop_count = 0
|
||||||
event_program_data_li = []
|
event_program_data_li = []
|
||||||
|
|
||||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||||
for record in df_dict:
|
for record in df_dict:
|
||||||
# ### Figure out the external IDs
|
# ### Figure out the external IDs
|
||||||
|
log.info(f'Loop Count: {loop_count}')
|
||||||
|
loop_count = loop_count + 1
|
||||||
|
if loop_count <= begin_at: continue
|
||||||
|
if loop_count > end_at: break
|
||||||
|
|
||||||
|
|
||||||
if event_location_external_id := record.get('location_external_id'):
|
if event_location_external_id := record.get('location_external_id'):
|
||||||
log.info('Using location_external_id for event_location_external_id')
|
log.info('Using location_external_id for event_location_external_id')
|
||||||
elif event_location_external_id := record.get('location_code'):
|
elif event_location_external_id := record.get('location_code'):
|
||||||
log.info('Using location_code for event_location_external_id')
|
log.info('Using location_code for event_location_external_id')
|
||||||
else:
|
else:
|
||||||
log.info('No location external ID or code was found. Creating one with the name...')
|
log.warning('No location external ID or code was found. Creating one with the name...')
|
||||||
event_location_name = record.get('location_name', '').strip()
|
event_location_name = record.get('location_name', '').strip()
|
||||||
event_location_external_id = f'{event_location_name}' # .strip()
|
event_location_external_id = f'{event_location_name}' # .strip()
|
||||||
log.debug(f'Event Location External ID: {event_location_external_id}')
|
log.debug(f'Event Location External ID: {event_location_external_id}')
|
||||||
@@ -479,7 +496,7 @@ async def event_importing_program_data(
|
|||||||
elif event_session_external_id := record.get('session_code'):
|
elif event_session_external_id := record.get('session_code'):
|
||||||
log.info('Using session_code for event_session_external_id')
|
log.info('Using session_code for event_session_external_id')
|
||||||
else:
|
else:
|
||||||
log.info('No session external ID or code was found. Creating one with the name...')
|
log.warning('No session external ID or code was found. Creating one with the name...')
|
||||||
event_session_name = record.get('session_name', '').strip()
|
event_session_name = record.get('session_name', '').strip()
|
||||||
event_session_external_id = f'{event_session_name}' # .strip()
|
event_session_external_id = f'{event_session_name}' # .strip()
|
||||||
log.debug(f'Event Session External ID: {event_session_external_id}')
|
log.debug(f'Event Session External ID: {event_session_external_id}')
|
||||||
@@ -489,7 +506,7 @@ async def event_importing_program_data(
|
|||||||
elif event_presentation_external_id := record.get('presentation_code'):
|
elif event_presentation_external_id := record.get('presentation_code'):
|
||||||
log.info('Using presentation_code for event_presentation_external_id')
|
log.info('Using presentation_code for event_presentation_external_id')
|
||||||
else:
|
else:
|
||||||
log.info('No presentation external ID or code was found. Creating one with the name...')
|
log.warning('No presentation external ID or code was found. Creating one with the name...')
|
||||||
event_presentation_name = record.get('presentation_name', '').strip()
|
event_presentation_name = record.get('presentation_name', '').strip()
|
||||||
event_presentation_external_id = f'{event_session_external_id}:{event_presentation_name}' # .strip()
|
event_presentation_external_id = f'{event_session_external_id}:{event_presentation_name}' # .strip()
|
||||||
log.debug(f'Event Presentation External ID: {event_presentation_external_id}')
|
log.debug(f'Event Presentation External ID: {event_presentation_external_id}')
|
||||||
@@ -498,13 +515,17 @@ async def event_importing_program_data(
|
|||||||
log.info('Using presenter_external_id for event_presenter_external_id')
|
log.info('Using presenter_external_id for event_presenter_external_id')
|
||||||
elif event_presenter_external_id := record.get('presenter_code'):
|
elif event_presenter_external_id := record.get('presenter_code'):
|
||||||
log.info('Using presenter_code for event_presenter_external_id')
|
log.info('Using presenter_code for event_presenter_external_id')
|
||||||
|
elif event_presenter_external_id := record.get('presenter_number'):
|
||||||
|
log.info('Using presenter_number for event_presenter_external_id')
|
||||||
else:
|
else:
|
||||||
log.info('No presenter external ID or code was found. Creating one with the name...')
|
log.warning('No presenter external ID or code was found. Creating one with their family and given names...')
|
||||||
event_presenter_last_first_name = ', '.join( [record.get('presenter_family_name', ''), record.get('presenter_given_name', '')] )
|
event_presenter_last_first_name = ', '.join( [record.get('presenter_family_name', ''), record.get('presenter_given_name', '')] )
|
||||||
# event_presenter_name = record.get('presenter_name', '').strip()
|
# event_presenter_name = record.get('presenter_name', '').strip()
|
||||||
event_presenter_external_id = f'{event_presentation_external_id}:{event_presenter_last_first_name}' # .strip()
|
event_presenter_external_id = f'{event_presentation_external_id}:{event_presenter_last_first_name}' # .strip()
|
||||||
log.debug(f'Event Presenter External ID: {event_presenter_external_id}')
|
log.debug(f'Event Presenter External ID: {event_presenter_external_id}')
|
||||||
|
|
||||||
|
log.info(f'Event Location External ID: {event_location_external_id} | Event Session External ID: {event_session_external_id} | Event Presentation External ID: {event_presentation_external_id} | Event Presenter External ID: {event_presenter_external_id}')
|
||||||
|
|
||||||
# continue
|
# continue
|
||||||
|
|
||||||
data = {}
|
data = {}
|
||||||
@@ -527,6 +548,7 @@ async def event_importing_program_data(
|
|||||||
event_location_data['code'] = record.get('location_code')
|
event_location_data['code'] = record.get('location_code')
|
||||||
event_location_data['event_id'] = event_id # INSERT and UPDATE the event_id just in case
|
event_location_data['event_id'] = event_id # INSERT and UPDATE the event_id just in case
|
||||||
event_location_data['name'] = record.get('location_name')
|
event_location_data['name'] = record.get('location_name')
|
||||||
|
event_location_data['enable'] = True
|
||||||
|
|
||||||
event_location_id = None
|
event_location_id = None
|
||||||
if event_location_rec_result := sql_select(data=data, sql=sql):
|
if event_location_rec_result := sql_select(data=data, sql=sql):
|
||||||
@@ -591,6 +613,7 @@ async def event_importing_program_data(
|
|||||||
|
|
||||||
event_session_data['sort'] = record.get('session_sort')
|
event_session_data['sort'] = record.get('session_sort')
|
||||||
|
|
||||||
|
event_session_data['enable'] = True
|
||||||
event_session_data['notes'] = record.get('session_notes')
|
event_session_data['notes'] = record.get('session_notes')
|
||||||
|
|
||||||
event_session_id = None
|
event_session_id = None
|
||||||
@@ -650,13 +673,16 @@ async def event_importing_program_data(
|
|||||||
event_presentation_data['start_datetime'] = record.get('presentation_start_datetime')
|
event_presentation_data['start_datetime'] = record.get('presentation_start_datetime')
|
||||||
# event_presentation_start_datetime = record.get('presentation_start_date', '') + ' ' + record.get('presentation_start_time', '')
|
# event_presentation_start_datetime = record.get('presentation_start_date', '') + ' ' + record.get('presentation_start_time', '')
|
||||||
# event_presentation_data['start_datetime'] = event_presentation_start_datetime
|
# event_presentation_data['start_datetime'] = event_presentation_start_datetime
|
||||||
|
data['presentation_start_datetime'] = event_presentation_data['start_datetime']
|
||||||
|
|
||||||
event_presentation_data['end_datetime'] = record.get('presentation_end_datetime')
|
event_presentation_data['end_datetime'] = record.get('presentation_end_datetime')
|
||||||
# event_presentation_end_datetime = record.get('presentation_end_date', '') + ' ' + record.get('presentation_end_time', '')
|
# event_presentation_end_datetime = record.get('presentation_end_date', '') + ' ' + record.get('presentation_end_time', '')
|
||||||
# event_presentation_data['end_datetime'] = event_presentation_end_datetime
|
# event_presentation_data['end_datetime'] = event_presentation_end_datetime
|
||||||
|
data['presentation_end_datetime'] = event_presentation_data['end_datetime']
|
||||||
|
|
||||||
event_presentation_data['sort'] = record.get('presentation_sort')
|
event_presentation_data['sort'] = record.get('presentation_sort')
|
||||||
|
|
||||||
|
event_presentation_data['enable'] = True
|
||||||
event_presentation_data['notes'] = record.get('presentation_notes')
|
event_presentation_data['notes'] = record.get('presentation_notes')
|
||||||
|
|
||||||
event_presentation_id = None
|
event_presentation_id = None
|
||||||
@@ -700,7 +726,7 @@ async def event_importing_program_data(
|
|||||||
sql = f"""
|
sql = f"""
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM `v_event_presenter` AS `event_presenter`
|
FROM `v_event_presenter` AS `event_presenter`
|
||||||
WHERE event_presenter.event_id = :event_id
|
WHERE event_presenter.event_presentation_id = :event_presentation_id
|
||||||
AND event_presenter.external_id = :event_presenter_external_id
|
AND event_presenter.external_id = :event_presenter_external_id
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
"""
|
"""
|
||||||
@@ -710,6 +736,11 @@ async def event_importing_program_data(
|
|||||||
event_presenter_data['event_session_id'] = event_session_id # UPDATE the event_session_id in case the presentation was moved
|
event_presenter_data['event_session_id'] = event_session_id # UPDATE the event_session_id in case the presentation was moved
|
||||||
event_presenter_data['event_presentation_id'] = event_presentation_id # UPDATE the event_presentation_id in case the presenter was moved
|
event_presenter_data['event_presentation_id'] = event_presentation_id # UPDATE the event_presentation_id in case the presenter was moved
|
||||||
|
|
||||||
|
if event_presenter_number := record.get('presenter_number'):
|
||||||
|
event_presenter_data['sort'] = event_presenter_number
|
||||||
|
elif event_presenter_number := isinstance(record.get('presenter_code'), int):
|
||||||
|
event_presenter_data['sort'] = event_presenter_number
|
||||||
|
|
||||||
event_presenter_data['title_names'] = record.get('presenter_title_names', '')
|
event_presenter_data['title_names'] = record.get('presenter_title_names', '')
|
||||||
event_presenter_data['informal_name'] = record.get('presenter_informal_name', '')
|
event_presenter_data['informal_name'] = record.get('presenter_informal_name', '')
|
||||||
event_presenter_data['given_name'] = record.get('presenter_given_name', '')
|
event_presenter_data['given_name'] = record.get('presenter_given_name', '')
|
||||||
@@ -722,6 +753,7 @@ async def event_importing_program_data(
|
|||||||
|
|
||||||
event_presenter_data['email'] = record.get('presenter_email', '')
|
event_presenter_data['email'] = record.get('presenter_email', '')
|
||||||
|
|
||||||
|
event_presenter_data['enable'] = True
|
||||||
event_presenter_data['notes'] = record.get('presenter_notes', '')
|
event_presenter_data['notes'] = record.get('presenter_notes', '')
|
||||||
|
|
||||||
event_presenter_id = None
|
event_presenter_id = None
|
||||||
@@ -758,11 +790,13 @@ async def event_importing_program_data(
|
|||||||
log.warning(event_presenter_obj_in_result)
|
log.warning(event_presenter_obj_in_result)
|
||||||
continue # Something unexpected may have happened
|
continue # Something unexpected may have happened
|
||||||
data['event_presenter_id'] = event_presenter_id
|
data['event_presenter_id'] = event_presenter_id
|
||||||
|
data['event_presenter_code'] = event_presenter_number
|
||||||
|
data['event_presenter_full_name'] = event_presenter_full_name
|
||||||
|
|
||||||
# End of the loop. Append to program list data results.
|
# End of the loop. Append to program list data results.
|
||||||
|
|
||||||
event_program_data_li.append(data)
|
event_program_data_li.append(data)
|
||||||
log.debug(f'Record processed: {event_session_id} {event_presentation_id} {event_presenter_full_name}')
|
log.info(f'Record processed: Session: {event_session_id} Presentation: {event_presentation_id} Presenter: {event_presenter_full_name}')
|
||||||
|
|
||||||
return mk_resp(data=event_program_data_li, response=commons.response)
|
return mk_resp(data=event_program_data_li, response=commons.response)
|
||||||
# ### END ### Event Importing ### event_importing_program_data() ###
|
# ### END ### Event Importing ### event_importing_program_data() ###
|
||||||
|
|||||||
Reference in New Issue
Block a user