From 877a4e17582916e960ed772076cd654e2d608843 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 8 Apr 2022 14:20:44 -0400 Subject: [PATCH] Improved create event exhibit tracking log entries --- app/methods/event_badge_methods.py | 32 +++++++++++++++++++ app/methods/event_exhibit_tracking_methods.py | 7 +++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/app/methods/event_badge_methods.py b/app/methods/event_badge_methods.py index c08f61b..793b8f7 100644 --- a/app/methods/event_badge_methods.py +++ b/app/methods/event_badge_methods.py @@ -96,6 +96,38 @@ def get_event_badge_template_id_w_event_id( # ### END ### API Event Badge Methods ### get_event_badge_template_id_w_event_id() ### +# ### BEGIN ### API Event Badge Methods ### get_event_person_id_w_event_badge_id() ### +# Updated 2022-04-08 +@logger_reset +def get_event_person_id_w_event_badge_id( + event_badge_id: int|str, + ) -> bool|int|None: + log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.debug(locals()) + + if event_badge_id := redis_lookup_id_random(record_id_random=event_badge_id, table_name='event_badge'): pass + else: return False + + data = {} + data['event_badge_id'] = event_badge_id + + sql = f""" + SELECT `event_badge`.id AS 'event_badge_id', `event_badge`.id_random AS 'event_badge_id_random', `event_badge`.event_person_id AS 'event_person_id' + FROM `event_badge` AS `event_badge` + WHERE `event_badge`.id = :event_badge_id + LIMIT 1; + """ + + log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + if event_badge_data_result := sql_select(data=data, sql=sql): + log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.debug(event_badge_data_result) + if event_person_id := event_badge_data_result.get('event_person_id', None): return event_person_id + else: return False + else: return None +# ### END ### API Event Badge Methods ### get_event_badge_template_id_w_event_id() ### + + # ### BEGIN ### API Event Badge Methods ### create_update_event_badge_obj_v4() ### # Updated 2022-02-23 @logger_reset diff --git a/app/methods/event_exhibit_tracking_methods.py b/app/methods/event_exhibit_tracking_methods.py index ae8dc95..0e7c03d 100644 --- a/app/methods/event_exhibit_tracking_methods.py +++ b/app/methods/event_exhibit_tracking_methods.py @@ -7,6 +7,8 @@ from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, v from app.db_sql import get_account_id_w_for_type_id, redis_lookup_id_random, sql_enable_part, sql_delete, sql_insert, sql_limit_offset_part, sql_select, sql_update from app.lib_general import log, logging, logger_reset +from app.methods.event_badge_methods import get_event_person_id_w_event_badge_id + from app.models.common_field_schema import default_num_bytes from app.models.event_exhibit_tracking_models import Event_Exhibit_Tracking_Base @@ -21,10 +23,13 @@ def create_event_exhibit_tracking_obj( event_person_id: int = None, create_sub_obj: bool = False, fail_any: bool = False, # Fail if any thing goes wrong for sub objects - log_lvl: int = logging.WARNING, # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log_lvl: int = logging.INFO, # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL ) -> int|bool: log.setLevel(log_lvl) + if event_badge_id and not event_person_id: + event_person_id = get_event_person_id_w_event_badge_id(event_badge_id) + # ### SECTION ### Secondary data validation log.info('Create dictionary or Pydantic object') log.debug(type(event_exhibit_tracking_dict_obj))