From a9e6bfe09c82973aaf904ae99f51d88bf6b965b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20R=C3=B6ggla?= Date: Mon, 20 Jul 2020 09:27:32 +0200 Subject: [PATCH] a script to do the work --- travelogues_extraction/script/__init__.py | 0 travelogues_extraction/script/script.py | 44 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 travelogues_extraction/script/__init__.py create mode 100644 travelogues_extraction/script/script.py diff --git a/travelogues_extraction/script/__init__.py b/travelogues_extraction/script/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/travelogues_extraction/script/script.py b/travelogues_extraction/script/script.py new file mode 100644 index 0000000..2d35fdf --- /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) -- GitLab