From 70575c803df3aa31239e360bfd961b24292078ca Mon Sep 17 00:00:00 2001 From: Jeniamakarchik Date: Tue, 25 Feb 2020 12:58:24 +0300 Subject: [PATCH] add checking for directories --- Dockerfile | 6 +----- src/util/check_dirs.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 src/util/check_dirs.py diff --git a/Dockerfile b/Dockerfile index 1c6598e..011d33b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,10 +12,6 @@ RUN pip install -r /app/requirements.txt COPY . /app/ WORKDIR /app/ -RUN mkdir -p /app/logs -RUN mkdir -p /app/docx -RUN mkdir -p /app/json -RUN mkdir -p /app/html VOLUME /app/logs -CMD python /app/src/consumer.py +CMD python /app/src/util/check_dirs.py && python /app/src/consumer.py diff --git a/src/util/check_dirs.py b/src/util/check_dirs.py new file mode 100644 index 0000000..b11b6f1 --- /dev/null +++ b/src/util/check_dirs.py @@ -0,0 +1,35 @@ +import argparse +import os + + +def parse_args(): + parser = argparse.ArgumentParser(description="Utility for folders's clean up.") + parser.add_argument('-f', '--folders', type=str, nargs='*', help='Names of the folders to be cleaned.') + + args = parser.parse_args() + return args + + +def check_dir(dir_path): + if not os.path.exists(dir_path): + try: + os.mkdir(dir_path) + except OSError as exc: + raise exc + + +if __name__ == '__main__': + folders = parse_args().folders + if not folders: + folders = ['docx', 'html', 'json', 'logs', 'config'] + + folder_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + folders = [os.path.join(folder_path, folder) for folder in folders] + + try: + for folder in folders: + check_dir(folder) + + except OSError as exc: + print(exc) + raise