Work on exhibit tracking

This commit is contained in:
Scott Idem
2022-04-22 12:32:18 -04:00
parent 3ddc0e2860
commit 74e62f5f4c
3 changed files with 339 additions and 16 deletions

View File

@@ -270,6 +270,73 @@ def get_event_registrants(
# ### END ### API Impexium Methods ### get_event_registrants() ###
# ### BEGIN ### API External Impexium Methods ### get_individual_profile() ###
# Updated 2022-04-22
@logger_reset
def get_individual_profile(
individual_id: str,
details: bool = False,
page = 1 # page: int = 0,
):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if result := authenticate():
log.debug(result)
else:
return False
endpoint = f'/Individuals/Profile/{individual_id}/{page}'
uri = api['base_url']+endpoint
params = { 'IncludeDetails': details }
impexium_individual_profile = None
try_request = True
max_tries = 5
try_count = 0
while try_request and try_count <= max_tries:
try_count = try_count + 1
resp = requests.get(url=uri, params=params, headers=api['headers'])
log.debug(f'Status Code: {resp.status_code}')
log.debug(f'Headers: {resp.headers}')
# log.debug(f'Encoding: {resp.encoding}')
# log.debug('Text:')
# log.debug(resp.text)
# log.debug(resp.json())
if resp.status_code == 200:
log.debug(resp.json())
impexium_individual_profile_raw = resp.json() # .get('data').get('dataList')[0]
# log.debug(impexium_individual_profile_raw)
impexium_individual_profile = impexium_individual_profile_raw.get('dataList')[0]
log.debug(impexium_individual_profile)
try_request = False
elif resp.status_code == 404:
log.info('No results returned.')
try_request = False
impexium_individual_profile = None
elif resp.status_code == 429:
log.warning('Hit rate limit. Sleeping for .1 seconds...')
time.sleep(.1)
try_request = True
impexium_individual_profile = False
else:
try_request = False
impexium_event_registration_list = False
return impexium_individual_profile
# ### END ### API External Impexium Methods ### get_individual_profile() ###
# ### BEGIN ### API External Impexium Methods ### get_individual_registrations() ###
# Updated 2022-02-18
@logger_reset

View File

@@ -190,19 +190,19 @@ def load_event_exhibit_tracking_obj(
log.error(e.json())
return False
if inc_event_exhibit:
log.info('Need to include Event Exhibit data...')
event_exhibit_id = event_exhibit_tracking_rec.get('event_exhibit_id', None)
log.debug(event_exhibit_id)
from app.methods.event_exhibit_methods import load_event_exhibit_obj
if event_exhibit_result := load_event_exhibit_obj(
event_exhibit_id = event_exhibit_id,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
event_exhibit_tracking_obj.event_exhibit = event_exhibit_result
else: event_exhibit_tracking_obj.event_exhibit = {} # None
# if inc_event_exhibit:
# log.info('Need to include Event Exhibit data...')
# event_exhibit_id = event_exhibit_tracking_rec.get('event_exhibit_id', None)
# log.debug(event_exhibit_id)
# from app.methods.event_exhibit_methods import load_event_exhibit_obj
# if event_exhibit_result := load_event_exhibit_obj(
# event_exhibit_id = event_exhibit_id,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
# ):
# event_exhibit_tracking_obj.event_exhibit = event_exhibit_result
# else: event_exhibit_tracking_obj.event_exhibit = {} # None
if inc_event_person:
log.info('Need to include Event Person data...')