Work on exhibit tracking export and API badge ID lookup
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import datetime, time
|
||||
from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, Response, status
|
||||
from fastapi.responses import FileResponse
|
||||
from pydantic import BaseModel, EmailStr, Field
|
||||
from pydantic import BaseModel, EmailStr, Field, ValidationError
|
||||
from typing import Dict, List, Optional, Set, Union
|
||||
|
||||
from app.lib_general import create_export_file, return_full_tmp_path, log, logging, common_route_params, Common_Route_Params
|
||||
@@ -237,7 +237,7 @@ async def get_event_exhibit_obj_tracking_list(
|
||||
|
||||
commons: Common_Route_Params = Depends(common_route_params),
|
||||
):
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_exhibit_id := redis_lookup_id_random(record_id_random=event_exhibit_id, table_name='event_exhibit'): pass
|
||||
@@ -259,77 +259,128 @@ async def get_event_exhibit_obj_tracking_list(
|
||||
# inc_event_person = inc_event_person,
|
||||
):
|
||||
event_exhibit_tracking_result_list.append(load_event_exhibit_tracking_result)
|
||||
event_exhibit_tracking_obj = load_event_exhibit_tracking_result
|
||||
|
||||
data_dict = load_event_exhibit_tracking_result.dict(by_alias=True, exclude_unset=False)
|
||||
if event_exhibit_tracking_obj.event_badge_pronouns_override:
|
||||
event_exhibit_tracking_obj.event_badge_pronouns = event_exhibit_tracking_obj.event_badge_pronouns_override
|
||||
event_exhibit_tracking_obj.event_badge_pronouns_override = None
|
||||
|
||||
data_dict['person_informal_name'] = data_dict.pop('event_badge_informal_name')
|
||||
data_dict['person_title_names'] = data_dict.pop('event_badge_title_names')
|
||||
if event_exhibit_tracking_obj.event_badge_professional_title_override:
|
||||
event_exhibit_tracking_obj.event_badge_professional_title = event_exhibit_tracking_obj.event_badge_professional_title_override
|
||||
event_exhibit_tracking_obj.event_badge_professional_title_override = None
|
||||
# log.debug(event_exhibit_tracking_obj)
|
||||
|
||||
data_dict['person_given_name'] = data_dict.pop('event_badge_given_name')
|
||||
data_dict['person_middle_name'] = data_dict.pop('event_badge_middle_name')
|
||||
data_dict['person_family_name'] = data_dict.pop('event_badge_family_name')
|
||||
if event_exhibit_tracking_obj.event_badge_full_name_override:
|
||||
event_exhibit_tracking_obj.event_badge_full_name = event_exhibit_tracking_obj.event_badge_full_name_override
|
||||
event_exhibit_tracking_obj.event_badge_full_name_override = None
|
||||
|
||||
data_dict['person_designations'] = data_dict.pop('event_badge_designations')
|
||||
data_dict['person_professional_title'] = data_dict.pop('event_badge_professional_title')
|
||||
data_dict['person_professional_title_override'] = data_dict.pop('event_badge_professional_title_override')
|
||||
if event_exhibit_tracking_obj.event_badge_affiliations_override:
|
||||
event_exhibit_tracking_obj.event_badge_affiliations = event_exhibit_tracking_obj.event_badge_affiliations_override
|
||||
event_exhibit_tracking_obj.event_badge_affiliations_override = None
|
||||
|
||||
data_dict['person_full_name'] = data_dict.pop('event_badge_full_name')
|
||||
data_dict['person_full_name_override'] = data_dict.pop('event_badge_full_name_override')
|
||||
if event_exhibit_tracking_obj.event_badge_email_override:
|
||||
event_exhibit_tracking_obj.event_badge_email = event_exhibit_tracking_obj.event_badge_email_override
|
||||
event_exhibit_tracking_obj.event_badge_email_override = None
|
||||
|
||||
data_dict['person_affiliations'] = data_dict.pop('event_badge_affiliations')
|
||||
data_dict['person_affiliations_override'] = data_dict.pop('event_badge_affiliations_override')
|
||||
if event_exhibit_tracking_obj.event_badge_phone_override:
|
||||
event_exhibit_tracking_obj.event_badge_phone = event_exhibit_tracking_obj.event_badge_phone_override
|
||||
event_exhibit_tracking_obj.event_badge_phone_override = None
|
||||
|
||||
data_dict['person_email'] = data_dict.pop('event_badge_email')
|
||||
if event_exhibit_tracking_obj.event_badge_location_override:
|
||||
event_exhibit_tracking_obj.event_badge_location = event_exhibit_tracking_obj.event_badge_location_override
|
||||
event_exhibit_tracking_obj.event_badge_location_override = None
|
||||
|
||||
if 'event_badge_address_line_1' in data_dict:
|
||||
data_dict['person_address_line_1'] = data_dict.pop('event_badge_address_line_1')
|
||||
else: data_dict['person_address_line_1'] = None
|
||||
if 'event_badge_address_line_2' in data_dict:
|
||||
data_dict['person_address_line_2'] = data_dict.pop('event_badge_address_line_2')
|
||||
else: data_dict['person_address_line_2'] = None
|
||||
if 'event_badge_address_line_3' in data_dict:
|
||||
data_dict['person_address_line_3'] = data_dict.pop('event_badge_address_line_3')
|
||||
else: data_dict['person_address_line_3'] = None
|
||||
# log.debug(event_exhibit_tracking_obj.dict(by_alias=True, exclude_unset=True, exclude={'pronouns_override', 'professional_title_override', 'full_name_override', 'affiliations_override', 'email_override', 'phone_override', 'location_override'}))
|
||||
# event_exhibit_tracking_dict = event_exhibit_tracking_obj.dict(by_alias=True, exclude_unset=True, exclude={'pronouns_override', 'professional_title_override', 'full_name_override', 'affiliations_override', 'email_override', 'phone_override', 'location_override'})
|
||||
event_exhibit_tracking_dict = event_exhibit_tracking_obj.dict(by_alias=True, exclude_unset=False)
|
||||
|
||||
# try:
|
||||
# event_exhibit_tracking_obj = Event_Badge_Basic_Base(**event_badge_dict)
|
||||
# except ValidationError as e:
|
||||
# log.error(e.json())
|
||||
# return False
|
||||
|
||||
data_dict = event_exhibit_tracking_dict
|
||||
# data_dict = event_exhibit_tracking_obj.dict(by_alias=True, exclude_unset=False)
|
||||
|
||||
|
||||
data_dict['exhibit_tracking_id'] = data_dict.pop('event_exhibit_tracking_id_random', None)
|
||||
data_dict['badge_id'] = data_dict.pop('event_badge_id_random', None)
|
||||
|
||||
data_dict['person_informal_name'] = data_dict.pop('event_badge_informal_name', None)
|
||||
data_dict['person_title_names'] = data_dict.pop('event_badge_title_names', None)
|
||||
|
||||
data_dict['person_given_name'] = data_dict.pop('event_badge_given_name', None)
|
||||
data_dict['person_middle_name'] = data_dict.pop('event_badge_middle_name', None)
|
||||
data_dict['person_family_name'] = data_dict.pop('event_badge_family_name', None)
|
||||
|
||||
data_dict['person_designations'] = data_dict.pop('event_badge_designations', None)
|
||||
data_dict['person_professional_title'] = data_dict.pop('event_badge_professional_title', None)
|
||||
# data_dict['person_professional_title_override'] = data_dict.pop('event_badge_professional_title_override', None)
|
||||
|
||||
data_dict['person_full_name'] = data_dict.pop('event_badge_full_name', None)
|
||||
# data_dict['person_full_name_override'] = data_dict.pop('event_badge_full_name_override', None)
|
||||
|
||||
data_dict['person_affiliations'] = data_dict.pop('event_badge_affiliations', None)
|
||||
# data_dict['person_affiliations_override'] = data_dict.pop('event_badge_affiliations_override', None)
|
||||
|
||||
data_dict['person_email'] = data_dict.pop('event_badge_email', None)
|
||||
|
||||
# if 'event_badge_address_line_1' in data_dict:
|
||||
# data_dict['person_address_line_1'] = data_dict.pop('event_badge_address_line_1', None)
|
||||
# else: data_dict['person_address_line_1'] = None
|
||||
# if 'event_badge_address_line_2' in data_dict:
|
||||
# data_dict['person_address_line_2'] = data_dict.pop('event_badge_address_line_2', None)
|
||||
# else: data_dict['person_address_line_2'] = None
|
||||
# if 'event_badge_address_line_3' in data_dict:
|
||||
# data_dict['person_address_line_3'] = data_dict.pop('event_badge_address_line_3', None)
|
||||
# else: data_dict['person_address_line_3'] = None
|
||||
|
||||
if 'event_badge_city' in data_dict:
|
||||
data_dict['person_city'] = data_dict.pop('event_badge_city')
|
||||
data_dict['person_city'] = data_dict.pop('event_badge_city', None)
|
||||
else: data_dict['person_city'] = None
|
||||
|
||||
if 'event_badge_country_subdivision_code' in data_dict:
|
||||
data_dict['person_country_subdivision_code'] = data_dict.pop('event_badge_country_subdivision_code')
|
||||
data_dict['person_country_subdivision_code'] = data_dict.pop('event_badge_country_subdivision_code', None)
|
||||
else: data_dict['person_country_subdivision_code'] = None
|
||||
if 'event_badge_state_province_abb' in data_dict:
|
||||
data_dict['person_state_province_abb'] = data_dict.pop('event_badge_state_province_abb')
|
||||
data_dict['person_state_province_abb'] = data_dict.pop('event_badge_state_province_abb', None)
|
||||
else: data_dict['person_state_province_abb'] = None
|
||||
if 'event_badge_state_province' in data_dict:
|
||||
data_dict['person_state_province'] = data_dict.pop('event_badge_state_province')
|
||||
data_dict['person_state_province'] = data_dict.pop('event_badge_state_province', None)
|
||||
else: data_dict['person_state_province'] = None
|
||||
|
||||
if 'event_badge_postal_code' in data_dict:
|
||||
data_dict['person_postal_code'] = data_dict.pop('event_badge_postal_code')
|
||||
data_dict['person_postal_code'] = data_dict.pop('event_badge_postal_code', None)
|
||||
else: data_dict['person_postal_code'] = None
|
||||
|
||||
if 'event_badge_country_alpha_2_code' in data_dict:
|
||||
data_dict['person_country_alpha_2_code'] = data_dict.pop('event_badge_country_alpha_2_code')
|
||||
data_dict['person_country_alpha_2_code'] = data_dict.pop('event_badge_country_alpha_2_code', None)
|
||||
else: data_dict['person_country_alpha_2_code'] = None
|
||||
if 'event_badge_country' in data_dict:
|
||||
data_dict['person_country'] = data_dict.pop('event_badge_country')
|
||||
data_dict['person_country'] = data_dict.pop('event_badge_country', None)
|
||||
else: data_dict['person_country'] = None
|
||||
|
||||
if 'event_badge_location' in data_dict:
|
||||
data_dict['person_location'] = data_dict.pop('event_badge_location')
|
||||
data_dict['person_location'] = data_dict.pop('event_badge_location', None)
|
||||
else: data_dict['person_location'] = None
|
||||
if 'event_badge_location_override' in data_dict:
|
||||
data_dict['person_location_override'] = data_dict.pop('event_badge_location_override')
|
||||
else: data_dict['person_location_override'] = None
|
||||
# if 'event_badge_location_override' in data_dict:
|
||||
# data_dict['person_location_override'] = data_dict.pop('event_badge_location_override', None)
|
||||
# else: data_dict['person_location_override'] = None
|
||||
|
||||
log.debug(data_dict)
|
||||
|
||||
data_dict_list_for_export.append(data_dict)
|
||||
else:
|
||||
event_exhibit_tracking_result_list.append(None)
|
||||
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
|
||||
column_name_li = [
|
||||
'event_exhibit_tracking_id_random',
|
||||
'event_badge_id_random',
|
||||
# 'event_exhibit_tracking_id_random',
|
||||
'exhibit_tracking_id',
|
||||
# 'event_badge_id_random',
|
||||
'badge_id',
|
||||
|
||||
# 'person_pronouns',
|
||||
'person_informal_name',
|
||||
@@ -341,32 +392,32 @@ async def get_event_exhibit_obj_tracking_list(
|
||||
|
||||
'person_designations',
|
||||
'person_professional_title',
|
||||
'person_professional_title_override',
|
||||
# 'person_professional_title_override',
|
||||
|
||||
'person_full_name',
|
||||
'person_full_name_override',
|
||||
# 'person_full_name_override',
|
||||
|
||||
'person_affiliations',
|
||||
'person_affiliations_override',
|
||||
# 'person_affiliations_override',
|
||||
|
||||
'person_email',
|
||||
|
||||
# 'person_address_line_1',
|
||||
# 'person_address_line_2',
|
||||
# 'person_address_line_3',
|
||||
# # 'person_address_line_1',
|
||||
# # 'person_address_line_2',
|
||||
# # 'person_address_line_3',
|
||||
|
||||
# 'person_city',
|
||||
# # 'person_city',
|
||||
|
||||
# 'person_country_subdivision_code', 'person_state_province_abb',
|
||||
# 'person_state_province',
|
||||
# # 'person_country_subdivision_code', 'person_state_province_abb',
|
||||
# # 'person_state_province',
|
||||
|
||||
# 'person_postal_code',
|
||||
# # 'person_postal_code',
|
||||
|
||||
'person_country_alpha_2_code',
|
||||
'person_country',
|
||||
|
||||
'person_location',
|
||||
'person_location_override',
|
||||
# 'person_location_override',
|
||||
|
||||
'priority',
|
||||
'sort',
|
||||
@@ -377,6 +428,9 @@ async def get_event_exhibit_obj_tracking_list(
|
||||
'updated_on',
|
||||
]
|
||||
|
||||
log.debug(column_name_li)
|
||||
log.debug(data_dict_list_for_export)
|
||||
|
||||
datetime_format='%Y-%m-%d_%H%M'
|
||||
|
||||
# current_datetime = datetime.datetime.now() # Servers timezone (Eastern)
|
||||
@@ -388,7 +442,7 @@ async def get_event_exhibit_obj_tracking_list(
|
||||
elif file_type == 'Excel':
|
||||
filename_w_ext = filename+'.xlsx'
|
||||
|
||||
if result := create_export_file(data_dict_list=data_dict_list_for_export, column_name_li=column_name_li, subdir_path='event_exhibit', filename=filename, export_type=file_type):
|
||||
if result := create_export_file(data_dict_list=data_dict_list_for_export, column_name_li=column_name_li, subdir_path='event_exhibit', filename=filename, rm_id=False, export_type=file_type):
|
||||
tmp_file_path = result
|
||||
else:
|
||||
log.error('Something went wrong while creating or saving the export file')
|
||||
|
||||
Reference in New Issue
Block a user