Updated importing to work for BGH 2022. Other minor changes.

This commit is contained in:
Scott Idem
2022-04-06 17:09:55 -04:00
parent 81f2f79bf2
commit 6f9cea9ca6
4 changed files with 108 additions and 3 deletions

View File

@@ -387,6 +387,7 @@ origins = [
'http://cmsc.oneskyit.local:5000', 'http://cmsc.oneskyit.local:5000',
'http://idaa.oneskyit.local:5000', 'http://idaa.oneskyit.local:5000',
'http://ishlt.oneskyit.local:5000', 'http://ishlt.oneskyit.local:5000',
'http://businessgroup.oneskyit.local:5000',
'http://dev-ishlt.localhost:5000', # Using localhost 'http://dev-ishlt.localhost:5000', # Using localhost
'http://ishlt.localhost:5000', # Using localhost 'http://ishlt.localhost:5000', # Using localhost

View File

@@ -591,7 +591,7 @@ def get_account_rec_list(
sql = f""" sql = f"""
SELECT `account`.id AS 'account_id', `account`.id_random AS 'account_id_random' SELECT `account`.id AS 'account_id', `account`.id_random AS 'account_id_random'
FROM `account` AS `account` FROM `account` AS `account`
WHERE WHERE 1=1
{sql_enabled} {sql_enabled}
ORDER BY `account`.created_on DESC, `account`.updated_on DESC ORDER BY `account`.created_on DESC, `account`.updated_on DESC
{sql_limit}; {sql_limit};

View File

@@ -67,7 +67,7 @@ def load_event_obj(
exclude_unset: bool = True, exclude_unset: bool = True,
model_as_dict: bool = False, model_as_dict: bool = False,
) -> Event_Base|bool: ) -> Event_Base|bool:
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass

View File

@@ -4,7 +4,7 @@ from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, Resp
from pydantic import BaseModel, EmailStr, Field from pydantic import BaseModel, EmailStr, Field
from typing import Dict, List, Optional, Set, Union from typing import Dict, List, Optional, Set, Union
from app.lib_general import log, logging, secure_hash_string from app.lib_general import log, logging, secure_hash_string, common_route_params, Common_Route_Params
from app.config import settings from app.config import settings
from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, redis_lookup_id_random from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, redis_lookup_id_random
@@ -1622,3 +1622,107 @@ async def importing_cont_edu_cert_person_data_touch(
# break # break
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
return mk_resp(data=cont_edu_cert_person_data_li) return mk_resp(data=cont_edu_cert_person_data_li)
# Business Group on Health program import
# Updated 2022-04-06
@router.get('/bgh_program_import', response_model=Resp_Body_Base)
async def bgh_program_import(
begin_at: int = 0,
end_at: int = 100,
# response: Response = Response,
commons: Common_Route_Params = Depends(common_route_params),
):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
account_id = commons.x_account_id # 4 GpLf_bnywCs
event_id = 1446
full_file_path = 'admin/temp/import_bgh_2022-04_program_data.csv'
df = pandas.read_csv(
full_file_path,
na_filter = False,
dtype = {
'session_code': str,
'Session Code': str,
'session_title': str,
'session_description': str,
'session_start_datetime': str,
'session_end_datetime': str,
'session_location': str,
'session_location_code': str,
},
parse_dates = ['session_start_datetime', 'session_end_datetime']
)
#df = df.fillna('') # replace NaN with ''
# df = df.fillna(None)
# df = df.fillna('', inplace=True)
#return str(df.info())
df.rename(columns={
'Presenter Code': 'presenter_code',
'Presentation Code': 'presentation_code',
'Session Code': 'session_code',
'session_title': 'session_name',
'Session Title': 'session_name',
'session_location_code': 'location_code',
'session_location': 'location_name',
},
inplace = True)
log.debug(df)
# datetime.datetime.strptime(updated_on, '%d-%b-%Y')
df_dict = df.to_dict(orient='records')
log.debug(df_dict)
from app.methods.event_session_methods import create_event_session_obj, create_update_event_session_obj_v4, load_event_session_obj, get_event_session_rec_list, update_event_session_obj_v3, update_event_session_obj
from app.models.event_session_models import Event_Session_Base
session_dict_li = []
for record in df_dict:
session_dict = {}
session_dict['code'] = record.get('session_code')
session_dict['name'] = record.get('session_name')
session_dict['description'] = record.get('session_description')
session_dict['start_datetime'] = record.get('session_start_datetime')
session_dict['end_datetime'] = record.get('session_end_datetime')
location_name = record.get('location_name')
if location_name == 'Broadway 1': session_dict['event_location_id'] = 301
elif location_name == 'Broadway 2': session_dict['event_location_id'] = 302
elif location_name == 'Broadway 3': session_dict['event_location_id'] = 303
elif location_name == 'Grand Ballroom': session_dict['event_location_id'] = 304
elif location_name == 'Sobro': session_dict['event_location_id'] = 305
create_update_event_session_obj_v4_result = create_update_event_session_obj_v4(
event_session_dict_obj = session_dict,
event_id = event_id
)
log.debug(create_update_event_session_obj_v4_result)
session_dict_li.append(session_dict)
# try:
# event_session_obj = Event_Session_Base(**session_dict)
# log.debug(event_session_obj)
# except ValidationError as e:
# log.error(e.json())
# break
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# if event_session_dict_in_result := sql_insert(data=event_session_dict, table_name='event_session', rm_id_random=True, id_random_length=8): pass
# else:
# log.warning(f'Event Session not created.')
# log.debug(event_session_dict_in_result)
# return False
# log.debug(event_session_dict_in_result)
return mk_resp(data=session_dict_li, response=commons.response)