Work on a lot of things. Mainly cleaning up person and profile related fields in multiple tables.

This commit is contained in:
Scott Idem
2021-09-10 18:12:24 -04:00
parent 72820f08ae
commit 15fd32b252
20 changed files with 558 additions and 219 deletions

View File

@@ -24,6 +24,13 @@ def load_event_presentation_obj(
event_presentation_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,
event_file_file_purpose_id: int = None,
event_file_file_purpose: str = None,
event_file_priority: bool = None,
event_file_group: str = None,
inc_address: bool = False,
inc_contact: bool = False,
inc_event_abstract_list: bool = False,
@@ -37,6 +44,7 @@ def load_event_presentation_obj(
inc_event_presenter_list: bool = False,
inc_event_registration: bool = False,
#inc_event_registration_list: bool = False,
inc_event_session: bool = False,
inc_person: bool = False,
inc_user: bool = False,
) -> Event_Presentation_Base|bool:
@@ -46,101 +54,119 @@ def load_event_presentation_obj(
if event_presentation_id := redis_lookup_id_random(record_id_random=event_presentation_id, table_name='event_presentation'): pass
else: return False
if event_presentation_rec := sql_select(table_name='v_event_presentation', record_id=event_presentation_id):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presentation_rec)
if event_presentation_rec := sql_select(table_name='v_event_presentation', record_id=event_presentation_id): pass
else: return False
try:
event_presentation_obj = Event_Presentation_Base(**event_presentation_rec)
log.debug(event_presentation_obj)
except ValidationError as e:
log.error(e.json())
return False
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presentation_rec)
# event_presentation_obj = Event_Presentation_Base(**event_presentation_rec)
# log.debug(event_presentation_obj)
#return False
#account_id = event_presentation_rec.get('account_id', None)
event_id = event_presentation_rec.get('event_id', None)
event_abstract_id = event_presentation_rec.get('event_abstract_id', None)
event_person_id = event_presentation_rec.get('event_person_id', None)
event_session_id = event_presentation_rec.get('event_session_id', None)
#if inc_event: pass
if inc_event_abstract_list: pass
#if inc_event_badge_list: pass
if inc_event_device_list: pass
if inc_event_file_list: pass
if inc_event_person_list: pass
if inc_event_presenter_list:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
data = {}
data['event_presentation_id'] = 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 = ''
# else: event_obj['event_session'] = None
# 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 `event_presenter`.event_presentation_id = :event_presentation_id
{sql_enabled}
ORDER BY `event_presenter`.created_on DESC, `event_presenter`.updated_on DESC;
"""
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if event_presenter_obj_li_result := sql_select(data=data, sql=sql, as_list=True):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_obj_li_result)
event_presenter_obj_li = []
for event_presenter_obj in event_presenter_obj_li_result:
event_presenter_id = event_presenter_obj.get('event_presenter_id', None)
if event_presenter_obj := load_event_presenter_obj(
event_presenter_id = event_presenter_id,
enabled = enabled,
inc_address = inc_address,
inc_contact = inc_contact,
inc_event_abstract_list = inc_event_abstract_list,
inc_event_badge = inc_event_badge,
inc_event_device_list = inc_event_device_list,
inc_event_file_list = inc_event_file_list,
inc_event_person = inc_event_person,
inc_event_person_profile = inc_event_person_profile,
inc_event_registration = inc_event_registration,
inc_person = inc_person,
inc_user = inc_user,
):
data = event_presenter_obj.dict(by_alias=True, exclude_unset=True)
event_presenter_obj_li.append(data)
log.debug(event_presenter_obj_li)
event_presentation_obj.event_presenter_list = event_presenter_obj_li
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_obj_li_result)
event_presentation_obj.event_presenter_list = []
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
#if inc_user: pass
else:
try:
log.info('Try to apply event presentation record data to Event_Presentation_Base...')
event_presentation_obj = Event_Presentation_Base(**event_presentation_rec)
log.debug(event_presentation_obj)
except ValidationError as e:
log.error(e.json())
return False
return event_presentation_obj
# event_presentation_obj = Event_Presentation_Base(**event_presentation_rec)
# log.debug(event_presentation_obj)
# account_id = event_presentation_rec.get('account_id', None)
event_id = event_presentation_rec.get('event_id', None)
event_abstract_id = event_presentation_rec.get('event_abstract_id', None)
event_person_id = event_presentation_rec.get('event_person_id', None)
event_session_id = event_presentation_rec.get('event_session_id', None)
# if inc_event: pass
if inc_event_abstract_list: pass
# if inc_event_badge_list: pass
if inc_event_device_list: pass
if inc_event_file_list: pass
if inc_event_person_list: pass
if inc_event_presenter_list:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
data = {}
data['event_presentation_id'] = 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 = ''
# else: event_obj['event_session'] = None
# 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 `event_presenter`.event_presentation_id = :event_presentation_id
{sql_enabled}
ORDER BY `event_presenter`.created_on DESC, `event_presenter`.updated_on DESC;
"""
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if event_presenter_obj_li_result := sql_select(data=data, sql=sql, as_list=True):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_obj_li_result)
event_presenter_obj_li = []
for event_presenter_obj in event_presenter_obj_li_result:
event_presenter_id = event_presenter_obj.get('event_presenter_id', None)
if event_presenter_obj := load_event_presenter_obj(
event_presenter_id = event_presenter_id,
enabled = enabled,
inc_address = inc_address,
inc_contact = inc_contact,
inc_event_abstract_list = inc_event_abstract_list,
inc_event_badge = inc_event_badge,
inc_event_device_list = inc_event_device_list,
inc_event_file_list = inc_event_file_list,
inc_event_person = inc_event_person,
inc_event_person_profile = inc_event_person_profile,
inc_event_registration = inc_event_registration,
inc_person = inc_person,
inc_user = inc_user,
):
data = event_presenter_obj.dict(by_alias=True, exclude_unset=True)
event_presenter_obj_li.append(data)
log.debug(event_presenter_obj_li)
event_presentation_obj.event_presenter_list = event_presenter_obj_li
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_presenter_obj_li_result)
event_presentation_obj.event_presenter_list = []
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if inc_event_session:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
from app.methods.event_session_methods import load_event_session_obj
if event_session_obj := load_event_session_obj(
event_session_id = event_session_id,
# Don't append the presentation list and things
):
log.debug(event_session_obj)
event_presentation_obj.event_session = event_session_obj
else:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(event_session_obj)
event_presentation_obj.event_session = None
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
if model_as_dict:
return event_presentation_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset) # pylint: disable=no-member
else:
return event_presentation_obj
# ### END ### API Event Presentation Methods ### load_event_presentation_obj() ###