Minor changes
This commit is contained in:
@@ -27,6 +27,10 @@ class Event_Location_Base(BaseModel):
|
||||
# alias = 'event_location_code'
|
||||
)
|
||||
|
||||
external_id: Optional[str] = Field(
|
||||
alias = 'event_location_external_id'
|
||||
)
|
||||
|
||||
event_id_random: Optional[str]
|
||||
event_id: Optional[int]
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ class Event_Presenter_Base(BaseModel):
|
||||
hide_event_launcher: Optional[bool]
|
||||
|
||||
priority: Optional[bool]
|
||||
sort: Optional[int]
|
||||
sort: Optional[int] # The presenter number if given
|
||||
group: 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),
|
||||
file: UploadFile = File(...),
|
||||
|
||||
begin_at: int = 0,
|
||||
end_at: int = 20000,
|
||||
|
||||
commons: Common_Route_Params = Depends(common_route_params),
|
||||
):
|
||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
allow_inserts = False
|
||||
allow_updates = False
|
||||
allow_inserts = True
|
||||
allow_updates = True
|
||||
|
||||
account_id = commons.x_account_id
|
||||
event_location_id = None
|
||||
@@ -417,33 +420,36 @@ async def event_importing_program_data(
|
||||
'Source ID': 'source_id',
|
||||
'External ID': 'external_id',
|
||||
|
||||
'Title': 'title_names',
|
||||
'Title Names': 'title_names',
|
||||
'Prefix': 'title_names',
|
||||
'Informal_name': 'informal_name',
|
||||
'Nickname': 'informal_name',
|
||||
'given_name (first)': 'given_name',
|
||||
'Given Name': 'given_name',
|
||||
'First Name': 'given_name',
|
||||
'Middle Name': 'middle_name',
|
||||
'family_name (last)': 'family_name',
|
||||
'Family Name': 'family_name',
|
||||
'Last Name': 'family_name',
|
||||
'Designations': 'designations',
|
||||
'Suffix': 'designations',
|
||||
'Title': 'presenter_title_names',
|
||||
'Title Names': 'presenter_title_names',
|
||||
'Prefix': 'presenter_title_names',
|
||||
'Informal_name': 'presenter_informal_name',
|
||||
'Nickname': 'presenter_informal_name',
|
||||
'given_name (first)': 'presenter_given_name',
|
||||
'Given Name': 'presenter_given_name',
|
||||
'First Name': 'presenter_given_name',
|
||||
'Middle Name': 'presenter_middle_name',
|
||||
'family_name (last)': 'presenter_family_name',
|
||||
'Family Name': 'presenter_family_name',
|
||||
'Last Name': 'presenter_family_name',
|
||||
'Designations': 'presenter_designations',
|
||||
'Suffix': 'presenter_designations',
|
||||
|
||||
'Professional Title': 'professional_title',
|
||||
'Professional Title': 'presenter_professional_title',
|
||||
|
||||
'Affiliations': 'affiliations',
|
||||
'Company': 'affiliations',
|
||||
'affiliations': 'presenter_presenter_affiliations',
|
||||
'Affiliations': 'presenter_presenter_affiliations',
|
||||
'Company': 'presenter_presenter_affiliations',
|
||||
|
||||
'Email': 'email',
|
||||
'Email Address': 'email',
|
||||
'CC Email Address': 'cc_email',
|
||||
'Email': 'presenter_email',
|
||||
'Email Address': 'presenter_email',
|
||||
'CC Email Address': 'presenter_cc_email',
|
||||
|
||||
'location_title': 'location_name',
|
||||
'Location Code': 'location_code',
|
||||
'Location Name': 'location_name',
|
||||
'session_location': 'location_name',
|
||||
'Session Location': 'location_name',
|
||||
|
||||
'session_title': 'session_name',
|
||||
'Session Code': 'session_code',
|
||||
@@ -452,6 +458,10 @@ async def event_importing_program_data(
|
||||
'presentation_title': 'presentation_name',
|
||||
'Presentation Code': 'presentation_code',
|
||||
'Presentation Name': 'presentation_name',
|
||||
|
||||
'Presenter Code': 'presenter_code',
|
||||
'Presenter Number': 'presenter_number', # for sorting
|
||||
'Presenter Name': 'presenter_name',
|
||||
},
|
||||
inplace = True)
|
||||
# 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')
|
||||
|
||||
loop_count = 0
|
||||
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:
|
||||
# ### 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'):
|
||||
log.info('Using location_external_id for event_location_external_id')
|
||||
elif event_location_external_id := record.get('location_code'):
|
||||
log.info('Using location_code for event_location_external_id')
|
||||
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_external_id = f'{event_location_name}' # .strip()
|
||||
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'):
|
||||
log.info('Using session_code for event_session_external_id')
|
||||
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_external_id = f'{event_session_name}' # .strip()
|
||||
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'):
|
||||
log.info('Using presentation_code for event_presentation_external_id')
|
||||
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_external_id = f'{event_session_external_id}:{event_presentation_name}' # .strip()
|
||||
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')
|
||||
elif event_presenter_external_id := record.get('presenter_code'):
|
||||
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:
|
||||
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_name = record.get('presenter_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.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
|
||||
|
||||
data = {}
|
||||
@@ -527,6 +548,7 @@ 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
|
||||
event_location_data['name'] = record.get('location_name')
|
||||
event_location_data['enable'] = True
|
||||
|
||||
event_location_id = None
|
||||
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['enable'] = True
|
||||
event_session_data['notes'] = record.get('session_notes')
|
||||
|
||||
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_start_datetime = record.get('presentation_start_date', '') + ' ' + record.get('presentation_start_time', '')
|
||||
# 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_end_datetime = record.get('presentation_end_date', '') + ' ' + record.get('presentation_end_time', '')
|
||||
# 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['enable'] = True
|
||||
event_presentation_data['notes'] = record.get('presentation_notes')
|
||||
|
||||
event_presentation_id = None
|
||||
@@ -700,7 +726,7 @@ async def event_importing_program_data(
|
||||
sql = f"""
|
||||
SELECT *
|
||||
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
|
||||
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_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['informal_name'] = record.get('presenter_informal_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['enable'] = True
|
||||
event_presenter_data['notes'] = record.get('presenter_notes', '')
|
||||
|
||||
event_presenter_id = None
|
||||
@@ -758,11 +790,13 @@ async def event_importing_program_data(
|
||||
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_number
|
||||
data['event_presenter_full_name'] = event_presenter_full_name
|
||||
|
||||
# End of the loop. Append to program list data results.
|
||||
|
||||
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)
|
||||
# ### END ### Event Importing ### event_importing_program_data() ###
|
||||
|
||||
Reference in New Issue
Block a user