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
|
page: int = 0, # 250 per page from Impexium
|
||||||
event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: ZDzTBlevhZs (2022-04)
|
event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: ZDzTBlevhZs (2022-04)
|
||||||
# Account ID For ISHLT: d8TqXqf1EOg
|
# Account ID For ISHLT: d8TqXqf1EOg
|
||||||
|
|
||||||
|
return_detail: bool = False,
|
||||||
|
|
||||||
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
|
||||||
@@ -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
|
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)
|
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))
|
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
|
# return mk_resp(data=len(event_registrant_li), status_code=501, response=commons.response) # Not Implemented
|
||||||
|
|
||||||
loop_count = 0
|
loop_count = 0
|
||||||
loop_limit = 2500 # 200
|
loop_limit = 2500 # 200
|
||||||
event_person_li = []
|
event_person_li = []
|
||||||
|
event_person_summary_li = []
|
||||||
for event_registrant in event_registrant_li:
|
for event_registrant in event_registrant_li:
|
||||||
if loop_count > loop_limit: break
|
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')}")
|
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_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
|
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 = {}
|
||||||
event_person_data['account_id'] = account_id
|
event_person_data['account_id'] = account_id
|
||||||
event_person_data['event_id'] = event_id
|
event_person_data['event_id'] = event_id
|
||||||
@@ -78,6 +93,7 @@ async def event_import_reg(
|
|||||||
if emails := event_registrant.get('emails'):
|
if emails := event_registrant.get('emails'):
|
||||||
if isinstance(emails, list) and len(emails):
|
if isinstance(emails, list) and len(emails):
|
||||||
email = emails[0].get('address')
|
email = emails[0].get('address')
|
||||||
|
event_person_summary_data['email'] = email
|
||||||
|
|
||||||
if addresses := event_registrant.get('addresses'):
|
if addresses := event_registrant.get('addresses'):
|
||||||
if isinstance(addresses, list) and len(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['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_profile_data['display_name'] = event_registrant.get('badgeName')
|
||||||
|
event_person_summary_data['display_name'] = event_registrant.get('badgeName')
|
||||||
|
|
||||||
if organization_name:
|
if organization_name:
|
||||||
event_person_profile_data['affiliations'] = organization_name # Ideally should be organization_name for ISHLT
|
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
|
# id, attendedDate, sessions, itemizedCustomFields, guestOfRecordNumber, registrantTypeName, boughtTogetherWith, primaryOrganization, customerType, showInDirectory, addresses, emails, phones
|
||||||
|
|
||||||
event_person_li.append(event_person_data)
|
event_person_li.append(event_person_data)
|
||||||
|
event_person_summary_li.append(event_person_summary_data)
|
||||||
loop_count = loop_count + 1
|
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() ###
|
# ### END ### API Impexium ### event_import_reg() ###
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user