diff --git a/.gitignore b/.gitignore index 9ec94b4..9c95506 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Tungsten output output.json output.txt +output/**/*.json ### JetBrains template # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider diff --git a/output/.gitkeep b/output/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tungsten/__main__.py b/tungsten/__main__.py index 1e7f3df..f822d6c 100644 --- a/tungsten/__main__.py +++ b/tungsten/__main__.py @@ -1,15 +1,24 @@ import json +import os +import time from tungsten.parsers.globally_harmonized_system import GhsSdsJsonEncoder from tungsten.parsers.sigma_aldrich import parse_sigma_aldrich from dataclasses import asdict; + def main() -> None: - file = open("output.json", "w") - # noinspection PyTypeChecker - ghssds = parse_sigma_aldrich(open("tests/samples/sigma_aldrich_sigma_w5402.pdf", "rb", buffering=0)) - json.dump(asdict(ghssds), file, cls=GhsSdsJsonEncoder, skipkeys=True) - file.close() + files = os.listdir("./tests/samples/") + paths = ["./tests/samples/" + file for file in files] + + for i in range(len(paths)): + start = time.perf_counter() + # noinspection PyTypeChecker + ghssds = parse_sigma_aldrich(open(paths[i], "rb", buffering=0)) + file = open("./output/" + files[i].split(sep=".")[0] + ".json", "w") + json.dump(asdict(ghssds), file, cls=GhsSdsJsonEncoder, skipkeys=True) + file.close() + print(time.perf_counter() - start, "seconds") if __name__ == "__main__":