Clean up of Impexium API related functions. Ready for cron job time!
This commit is contained in:
@@ -32,6 +32,9 @@ async def event_import_reg(
|
||||
page: int = 0, # 250 per page from Impexium
|
||||
event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: ZDzTBlevhZs (2022-04)
|
||||
# Account ID For ISHLT: d8TqXqf1EOg
|
||||
|
||||
return_detail: bool = False,
|
||||
|
||||
commons: Common_Route_Params = Depends(common_route_params),
|
||||
):
|
||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
@@ -44,14 +47,22 @@ async def event_import_reg(
|
||||
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
|
||||
else: return mk_resp(data=None, status_code=404, status_message=f'The Event ID was not found. Event ID: {event_id}', response=commons.response)
|
||||
|
||||
event_registrant_li = get_event_registrants(event_code=e_impexium_event_id, details=details, page=page)
|
||||
event_registrant_li = get_event_registrants(
|
||||
event_code = e_impexium_event_id,
|
||||
registered_since = registered_since,
|
||||
details = details,
|
||||
page = page
|
||||
)
|
||||
log.debug(type(event_registrant_li))
|
||||
if event_registrant_li: pass
|
||||
else: return mk_resp(data=None, status_code=404, status_message=f'Checked for registrations in Impexium. No Impexium registrations found.', response=commons.response)
|
||||
|
||||
# return mk_resp(data=len(event_registrant_li), status_code=501, response=commons.response) # Not Implemented
|
||||
|
||||
loop_count = 0
|
||||
loop_limit = 2500 # 200
|
||||
event_person_li = []
|
||||
event_person_summary_li = []
|
||||
for event_registrant in event_registrant_li:
|
||||
if loop_count > loop_limit: break
|
||||
log.info(f"Record Num: {event_registrant.get('recordNumber')}, Registration Num: {event_registrant.get('registrationNumber')}, Registrant Type Code: {event_registrant.get('registrantTypeCode')}")
|
||||
@@ -62,6 +73,10 @@ async def event_import_reg(
|
||||
external_id_new = str(e_impexium_event_id)+':'+str(event_registrant.get('recordNumber'))+':'+str(event_registrant.get('registrationNumber'))
|
||||
external_sys_id = event_registrant.get('id') # Impexium UUID for person
|
||||
|
||||
event_person_summary_data = {}
|
||||
event_person_summary_data['external_id'] = external_id_new
|
||||
|
||||
|
||||
event_person_data = {}
|
||||
event_person_data['account_id'] = account_id
|
||||
event_person_data['event_id'] = event_id
|
||||
@@ -78,6 +93,7 @@ async def event_import_reg(
|
||||
if emails := event_registrant.get('emails'):
|
||||
if isinstance(emails, list) and len(emails):
|
||||
email = emails[0].get('address')
|
||||
event_person_summary_data['email'] = email
|
||||
|
||||
if addresses := event_registrant.get('addresses'):
|
||||
if isinstance(addresses, list) and len(addresses):
|
||||
@@ -121,6 +137,7 @@ async def event_import_reg(
|
||||
event_person_profile_data['professional_title'] = event_registrant.get('title') # Should this be None if no degrees found above???
|
||||
|
||||
event_person_profile_data['display_name'] = event_registrant.get('badgeName')
|
||||
event_person_summary_data['display_name'] = event_registrant.get('badgeName')
|
||||
|
||||
if organization_name:
|
||||
event_person_profile_data['affiliations'] = organization_name # Ideally should be organization_name for ISHLT
|
||||
@@ -362,9 +379,13 @@ async def event_import_reg(
|
||||
# id, attendedDate, sessions, itemizedCustomFields, guestOfRecordNumber, registrantTypeName, boughtTogetherWith, primaryOrganization, customerType, showInDirectory, addresses, emails, phones
|
||||
|
||||
event_person_li.append(event_person_data)
|
||||
event_person_summary_li.append(event_person_summary_data)
|
||||
loop_count = loop_count + 1
|
||||
|
||||
return mk_resp(data=event_person_li, response=commons.response)
|
||||
if return_detail:
|
||||
return mk_resp(data=event_person_li, status_message=f'Checked for registrations in Impexium. Found {len(event_person_li)} Impexium registrations.', response=commons.response)
|
||||
else:
|
||||
return mk_resp(data=event_person_summary_li, status_message=f'Checked for registrations in Impexium. Found {len(event_person_summary_li)} Impexium registrations.', response=commons.response)
|
||||
# ### END ### API Impexium ### event_import_reg() ###
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user