Work on temporary hosted files

This commit is contained in:
Scott Idem
2021-11-25 12:54:41 -05:00
parent 523a7378c6
commit 54a084d2cb
4 changed files with 18 additions and 18 deletions

View File

@@ -122,8 +122,8 @@ def create_export_file(
subdir_path: str,
filename: str,
export_type: str = 'CSV', # CSV, Excel
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
) -> bool|str:
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
hosted_tmp_path = settings.PATH_HOSTED_TMP_ROOT
@@ -146,14 +146,20 @@ def create_export_file(
if export_type == 'CSV':
log.info('Saving dataframe to CSV file')
full_dest_path = file_dest_w_subdir+'.csv'
filename_w_ext = filename+'.csv'
tmp_file_path = os.path.join(subdir_path,filename_w_ext)
data_dataframe.to_csv(full_dest_path, columns=column_name_li, index=False)
elif export_type == 'Excel':
log.info('Saving dataframe to Excel file')
full_dest_path = file_dest_w_subdir+'.xlsx'
filename_w_ext = filename+'.xlsx'
tmp_file_path = os.path.join(subdir_path,filename_w_ext)
data_dataframe.to_excel(full_dest_path, columns=column_name_li, index=False) # sheet_name='Sheet_name_1'
except:
log.exception('Something went wrong while trying to save the export file.')
return False
return True
log.info(f'Temp File Path: {tmp_file_path}')
return tmp_file_path # True
# ### END ### API Lib General ### create_export() ###

View File

@@ -33,6 +33,7 @@ class Resp_Body_Base(BaseModel):
# Update 2021-08-23
def mk_resp(
data: None|bool|dict|list,
tmp_file_path: None|str = None,
dict_to_json: bool = False,
status_code: int = 200,
status_message: str = '',
@@ -71,6 +72,7 @@ def mk_resp(
resp_body['meta']['status_message'] = settings.HTTP_STATUS_LI[status_code]['message']
resp_body['meta']['status_name'] = settings.HTTP_STATUS_LI[status_code]['name']
resp_body['meta']['success'] = success
resp_body['meta']['tmp_file_path'] = tmp_file_path
if isinstance(data, bool):
resp_body['meta']['data_type'] = 'bool'

View File

@@ -433,7 +433,7 @@ async def get_hosted_file_obj(
# ### BEGIN ### API Hosted File ### download_tmp() ###
# Updated 2021-11-23
@router.get('/download/{filename}', response_model=Resp_Body_Base)
@router.get('/download/tmp/{filename}', response_model=Resp_Body_Base)
async def download_tmp(
filename: str = Query(..., min_length=4, max_length=100),
# x_account_id: str = Header(...),

View File

@@ -99,19 +99,11 @@ async def get_obj_id_order_line_list(
current_datetime_utc = datetime.datetime.utcnow()
current_datetime_utc = current_datetime_utc.strftime(datetime_format)
filename = f'order_line_list_{current_datetime_utc}'
create_export_file(data_dict_list=data_dict_list_for_export, subdir_path='order_line', filename=filename, export_type='Excel')
if result := create_export_file(data_dict_list=data_dict_list_for_export, subdir_path='order_line', filename=filename, export_type='Excel'):
tmp_file_path = result
else:
log.error('Something went wrong while creating or saving the export file')
tmp_file_path = result
# print(response_data)
# full_file_path = 'admin/temp/export_test_1.csv'
# full_file_path_xlsx = 'admin/temp/export_test_1.xlsx'
# keys = response_data[0].keys()
# print(keys)
# order_line_obj_dataframe = pandas.DataFrame(response_data)
# print(order_line_obj_dataframe)
# order_line_obj_dataframe.to_csv(full_file_path, columns=keys, index=False)
# order_line_obj_dataframe.to_excel(full_file_path_xlsx, columns=keys, index=False) # sheet_name='Sheet_name_1'
return mk_resp(data=response_data)
return mk_resp(data=response_data, tmp_file_path=tmp_file_path)
# ### END ### API Order Line ### get_obj_id_order_line_list() ###