Working on event session, presentation, and presenter create and update.
This commit is contained in:
@@ -9,8 +9,6 @@ from app.lib_general import log, logging
|
||||
|
||||
# from app.methods.event_file_methods import load_event_file_obj
|
||||
from app.methods.event_person_methods import create_event_person_obj, load_event_person_obj, update_event_person_obj
|
||||
# from app.methods.event_presentation_methods import create_event_presentation_obj, update_event_presentation_obj
|
||||
# from app.methods.event_session_methods import create_event_session_obj, load_event_session_obj, update_event_session_obj
|
||||
# from app.methods.person_methods import load_person_obj
|
||||
# from app.methods.user_methods import load_user_obj
|
||||
|
||||
@@ -111,27 +109,105 @@ def load_event_presenter_obj(
|
||||
# ### END ### API Event Presenter Methods ### load_event_presenter_obj() ###
|
||||
|
||||
|
||||
# ### 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(
|
||||
event_presentation_id: int|str,
|
||||
) -> bool|None:
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_presentation_id := redis_lookup_id_random(record_id_random=event_presentation_id, table_name='event_presentation'): pass
|
||||
else: return False
|
||||
|
||||
data = {}
|
||||
data['event_presentation_id'] = event_presentation_id
|
||||
|
||||
sql = f"""
|
||||
SELECT `event_presentation`.id AS 'event_presentation_id', `event_presentation`.id_random AS 'event_presentation_id_random', `event_presentation`.event_id AS event_id, `event_presentation`.event_session_id AS event_session_id
|
||||
FROM `event_presentation` AS `event_presentation`
|
||||
WHERE `event_presentation`.id = :event_presentation_id
|
||||
LIMIT 1;
|
||||
"""
|
||||
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
if event_presentation_data_result := sql_select(data=data, sql=sql):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_presentation_data_result)
|
||||
if event_session_id := event_presentation_data_result.get('event_session_id', None): return event_session_id
|
||||
else: return False
|
||||
else: return None
|
||||
# ### END ### API Event Presenter Methods ### get_event_session_id_w_event_presentation_id() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Presenter Methods ### create_event_presenter_obj() ###
|
||||
# Updated 2021-08-21
|
||||
def create_event_presenter_obj(
|
||||
event_presentation_id: int|str,
|
||||
event_presenter_obj_new: Event_Presenter_Base,
|
||||
event_id: int|str = None, # If None then need to look up from event_session_id
|
||||
event_session_id: int|str = None, # If None then need to look up from event_presentation_id
|
||||
create_sub_obj: bool = False,
|
||||
fail_any: bool = False, # Fail if any thing goes wrong for sub objects
|
||||
) -> bool:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_id := event_presenter_obj_new.event_id: pass
|
||||
if event_session_id := redis_lookup_id_random(record_id_random=event_session_id, table_name='event_session'): pass
|
||||
else:
|
||||
log.error('Event ID is required')
|
||||
# from app.methods.event_presentation_methods import get_event_session_id_w_event_presentation_id
|
||||
if event_session_id := get_event_session_id_w_event_presentation_id(event_presentation_id): pass
|
||||
else:
|
||||
log.warning(f'The event_session_id was not found using the event_presentation_id. Event Presentation ID: {event_presentation_id}')
|
||||
return event_session_id # False or None
|
||||
|
||||
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
|
||||
else:
|
||||
from app.methods.event_presentation_methods import get_event_id_w_event_session_id
|
||||
if event_id := get_event_id_w_event_session_id(event_session_id): pass
|
||||
else:
|
||||
log.warning(f'The event_id was not found using the event_session_id. Event Session ID: {event_session_id}')
|
||||
return event_id # False or None
|
||||
|
||||
if event_session_id := redis_lookup_id_random(record_id_random=event_session_id, table_name='event_session'): pass
|
||||
else: return False
|
||||
|
||||
# if event_presentation_id := event_presenter_obj_new.event_presentation_id: pass
|
||||
# else:
|
||||
# log.error('Event Presentation ID is required')
|
||||
# return False
|
||||
|
||||
|
||||
log.debug(type(event_presenter_obj_new))
|
||||
if isinstance(event_presenter_obj_new, dict):
|
||||
try:
|
||||
event_presenter_obj_new = Event_Presenter_Base(**event_presenter_obj_new)
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_presenter_obj_new)
|
||||
except ValidationError as e:
|
||||
log.error(e.json())
|
||||
return False
|
||||
|
||||
event_presenter_obj_new.event_id = event_id
|
||||
event_presenter_obj_new.event_session_id = event_session_id
|
||||
event_presenter_obj_new.event_presentation_id = event_presentation_id
|
||||
|
||||
event_presenter_obj_data = event_presenter_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True, exclude={'created_on', 'updated_on'})
|
||||
log.debug(event_presenter_obj_data)
|
||||
|
||||
if event_presenter_obj_in_result := sql_insert(data=event_presenter_obj_data, table_name='event_presenter', rm_id_random=True, id_random_length=8): pass
|
||||
else:
|
||||
log.warning(f'Event Presenter not created.')
|
||||
log.debug(event_presenter_obj_in_result)
|
||||
return False
|
||||
|
||||
if event_session_id := event_presenter_obj_new.event_session_id: pass
|
||||
else:
|
||||
log.error('Event Session ID is required')
|
||||
return False
|
||||
event_presenter_id = event_presenter_obj_in_result
|
||||
|
||||
return_dict = {}
|
||||
return_dict['event_presenter_id'] = None
|
||||
|
||||
log.info(f'The event presenter has been created. Event Presenter ID: {event_presenter_id}')
|
||||
return event_presenter_id
|
||||
# ### END ### API Event Presenter Methods ### create_event_presenter_obj() ###
|
||||
|
||||
|
||||
@@ -149,6 +225,16 @@ def update_event_presenter_obj_exist(
|
||||
if event_presenter_id := redis_lookup_id_random(record_id_random=event_presenter_id, table_name='event_presenter'): pass
|
||||
else: return False
|
||||
|
||||
log.debug(type(event_presenter_obj_exist))
|
||||
if isinstance(event_presenter_obj_exist, dict):
|
||||
try:
|
||||
event_presenter_obj_exist = Event_Presenter_Base(**event_presenter_obj_exist)
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_presenter_obj_exist)
|
||||
except ValidationError as e:
|
||||
log.error(e.json())
|
||||
return False
|
||||
|
||||
# Can't update the event_presenter_id alias if the .id was never set.
|
||||
# event_presenter_obj_exist.event_presenter_id = event_presenter_id
|
||||
if not event_presenter_obj_exist.id:
|
||||
@@ -165,12 +251,10 @@ def update_event_presenter_obj_exist(
|
||||
|
||||
return_dict = {}
|
||||
return_dict['event_presenter_id'] = event_presenter_id
|
||||
# return_dict['something_list'] = []
|
||||
|
||||
|
||||
|
||||
|
||||
return False
|
||||
log.info(f'The event presenter has been updated. Event Presenter ID: {event_presenter_id}')
|
||||
return True
|
||||
# ### END ### API Event Presenter Methods ### update_event_presenter_obj_exist() ###
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user