Work on person methods and related

This commit is contained in:
Scott Idem
2021-09-08 12:22:22 -04:00
parent 84aecddc7c
commit d0d8392817
12 changed files with 533 additions and 277 deletions

View File

@@ -20,6 +20,9 @@ def load_event_presenter_obj(
event_presenter_id: int|str,
enabled: str = 'enabled', # enabled, disabled, all
limit: int = 1000,
by_alias: bool = True,
exclude_unset: bool = True,
model_as_dict: bool = False,
inc_address: bool = False,
inc_contact: bool = False,
inc_event_abstract_list: bool = False, # For event_presenter and using load_event_person_obj
@@ -27,6 +30,7 @@ def load_event_presenter_obj(
inc_event_device_list: bool = False, # For event_presenter and using load_event_person_obj
inc_event_file_list: bool = False, # For event_presenter and using load_event_person_obj
inc_event_person: bool = False, # Using load_event_person_obj
inc_event_person_profile: bool = False, # Using load_event_person_obj
# inc_event_presentation: bool = False,
inc_event_registration: bool = False, # Using load_event_person_obj
# inc_event_session: bool = False,
@@ -39,76 +43,148 @@ def load_event_presenter_obj(
if event_presenter_id := redis_lookup_id_random(record_id_random=event_presenter_id, table_name='event_presenter'): pass
else: return False
if event_presenter_rec := sql_select(table_name='v_event_presenter', record_id=event_presenter_id):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_rec)
if event_presenter_rec := sql_select(table_name='v_event_presenter', record_id=event_presenter_id): pass
else: return False
try:
event_presenter_obj = Event_Presenter_Base(**event_presenter_rec)
log.debug(event_presenter_obj)
except ValidationError as e:
log.error(e.json())
return False
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_rec)
# event_presenter_obj = Event_Presenter_Base(**event_presenter_rec)
# log.debug(event_presenter_obj)
#account_id = event_presenter_rec.get('account_id', None)
event_id = event_presenter_rec.get('event_id', None)
event_abstract_id = event_presenter_rec.get('event_abstract_id', None)
event_person_id = event_presenter_rec.get('event_person_id', None)
event_presentation_id = event_presenter_rec.get('event_presentation_id', None)
event_session_id = event_presenter_rec.get('event_session_id', None)
person_id = event_presenter_rec.get('person_id', None)
user_id = event_presenter_rec.get('user_id', None)
# if inc_event: pass
if inc_event_abstract_list: pass
if inc_event_device_list: pass
if inc_event_file_list: pass
if inc_event_person:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if event_person_obj := load_event_person_obj(
event_person_id=event_person_id,
enabled=enabled,
inc_address=inc_address,
inc_contact=inc_contact,
inc_event_badge=inc_event_badge,
inc_event_registration=inc_event_registration,
inc_person=inc_person,
inc_user=inc_user,
):
log.debug(event_person_obj)
event_presenter_obj.event_person = event_person_obj
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_person_obj)
event_presenter_obj.event_person = None
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if inc_person:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if person_obj := load_person_obj(
# person_id=person_id,
# enabled=enabled
# ):
# log.debug(person_obj)
# presenter_obj.person = person_obj
# else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(person_obj)
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if inc_user: pass
else:
try:
log.info('Try to apply event presenter record data to Event_Presenter_Base...')
event_presenter_obj = Event_Presenter_Base(**event_presenter_rec)
log.debug(event_presenter_obj)
except ValidationError as e:
log.error(e.json())
return False
return event_presenter_obj
# event_presenter_obj = Event_Presenter_Base(**event_presenter_rec)
# log.debug(event_presenter_obj)
# account_id = event_presenter_rec.get('account_id', None)
event_id = event_presenter_rec.get('event_id', None)
event_abstract_id = event_presenter_rec.get('event_abstract_id', None)
event_person_id = event_presenter_rec.get('event_person_id', None)
event_presentation_id = event_presenter_rec.get('event_presentation_id', None)
event_session_id = event_presenter_rec.get('event_session_id', None)
person_id = event_presenter_rec.get('person_id', None)
user_id = event_presenter_rec.get('user_id', None)
# if inc_event: pass
if inc_event_abstract_list: pass
if inc_event_device_list: pass
if inc_event_file_list: pass
if inc_event_person:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if event_person_obj := load_event_person_obj(
event_person_id = event_person_id,
enabled = enabled,
inc_address = inc_address,
inc_contact = inc_contact,
inc_event_badge = inc_event_badge,
inc_event_person_profile = inc_event_person_profile,
inc_event_registration = inc_event_registration,
inc_person = inc_person,
inc_user = inc_user,
):
log.debug(event_person_obj)
event_presenter_obj.event_person = event_person_obj
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_person_obj)
event_presenter_obj.event_person = None
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if inc_person:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if person_obj := load_person_obj(
# person_id=person_id,
# enabled=enabled
# ):
# log.debug(person_obj)
# presenter_obj.person = person_obj
# else:
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(person_obj)
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if inc_user: pass
if model_as_dict:
return event_presenter_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset) # pylint: disable=no-member
else:
return event_presenter_obj
# ### END ### API Event Presenter Methods ### load_event_presenter_obj() ###
# ### BEGIN ### API Event Presenter Methods ### get_event_presenter_rec_list() ###
def get_event_presenter_rec_list(
event_person_id: str = None,
event_presentation_id: str = None,
enabled: str = 'enabled', # enabled, disabled, all
limit: int = 100,
) -> list|bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
else: return False
data = {}
data[f'event_person_id'] = event_person_id
data[f'event_presentation_id'] = event_presentation_id
if event_person_id:
sql_where_event_person_id = f'`event_presenter`.event_person_id = :event_person_id'
else: sql_where_event_person_id = ''
if event_presentation_id:
sql_where_event_presentation_id = f'`event_presenter`.event_presentation_id = :event_presentation_id'
else: sql_where_event_presentation_id = ''
if enabled in ['enabled', 'disabled', 'all']:
if enabled == 'enabled':
data['enable'] = True
sql_enabled = f'AND `event_presenter`.enable = :enable'
elif enabled == 'disabled':
data['enable'] = False
sql_enabled = f'AND `event_presenter`.enable = :enable'
elif enabled == 'all':
sql_enabled = ''
if limit:
data['limit'] = limit
sql_limit = f'LIMIT :limit'
else:
sql_limit = ''
sql = f"""
SELECT `event_presenter`.id AS 'event_presenter_id', `event_presenter`.id_random AS 'event_presenter_id_random'
FROM `event_presenter` AS `event_presenter`
WHERE
{sql_where_event_person_id}
{sql_where_event_presentation_id}
{sql_enabled}
ORDER BY `event_presenter`.created_on DESC, `event_presenter`.updated_on DESC
{sql_limit};
"""
if event_presenter_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
event_presenter_rec_li = event_presenter_rec_li_result
else:
event_presenter_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_rec_li_result)
log.debug(type(event_presenter_rec_li))
log.debug(len(event_presenter_rec_li))
return event_presenter_rec_li
# ### END ### API Event Presenter Methods ### get_event_presenter_rec_list() ###
# ### BEGIN ### API Event Presenter Methods ### get_event_session_id_w_event_presentation_id() ###
# Updated 2021-08-23
def get_event_session_id_w_event_presentation_id(