diff --git a/travelogues_extraction/script/__init__.py b/travelogues_extraction/script/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/travelogues_extraction/script/script.py b/travelogues_extraction/script/script.py new file mode 100644 index 0000000000000000000000000000000000000000..2d35fdf8990628cdf400764235ee589a5e7e0822 --- /dev/null +++ b/travelogues_extraction/script/script.py @@ -0,0 +1,44 @@ +import asyncio +import datetime +import json +import os +import pathlib +import re as regex + +import typing + +from travelogues_extraction.controller.main import FromAlmaOutputToExcel + +input_folder = './travelogues_extraction/script/input/' +output_folder = './travelogues_extraction/script/output/' +filter = 'D19' + +files = os.listdir(input_folder) +files = [file for file in files if filter in file] +files = [input_folder + file for file in files] + + +async def extract(input_file: str, output_folder: str) -> typing.NoReturn: + input_path = pathlib.Path(input_file) + output_path = pathlib.Path( + output_folder + \ + input_path.name.replace( + 'ALMAoutput', 'script_output_' \ + + datetime.datetime.now().strftime("%Y-%m-%d-%H:%M:%S")) + ) + + converter = FromAlmaOutputToExcel(input_file, output_path.absolute(), slice(None, None, 1)) + await converter.runasync() + await converter.close() + converter.write() + match = regex.search(r'[dD]1\d', input_file) + name = match.group(0) if match else 'VDXX' + converter.log.to_csv('log-' + name + datetime.datetime.now().strftime("-%Y-%m-%d-%H:%M:%S") + '.csv') + # to do unblock + with open('sub-log-' + name + datetime.datetime.now().strftime("-%Y-%m-%d-%H:%M:%S") + '.json', 'w') as file: + json.dump(converter.sub_log, file) + +loop = asyncio.new_event_loop() +tasks = [loop.create_task(extract(file, output_folder)) for file in files] +waiter = asyncio.wait(tasks) +loop.run_until_complete(waiter)