From 8e6ba54ccbd345ff6d407fae65f1bc99fbe71b78 Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Mon, 3 Mar 2025 15:25:39 +0000 Subject: [PATCH] added a basic validator check --- etl/src/etl/utils/logger.py | 22 ++++++++++++++++++++++ etl/src/etl/validator/retrohome.py | 16 +++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 etl/src/etl/utils/logger.py diff --git a/etl/src/etl/utils/logger.py b/etl/src/etl/utils/logger.py new file mode 100644 index 0000000..b31375f --- /dev/null +++ b/etl/src/etl/utils/logger.py @@ -0,0 +1,22 @@ +import logging +import os + +class Logger: + def __init__(self, name, level=logging.INFO): + # Create a custom logger + self.logger = logging.getLogger(name) + self.logger.setLevel(level) + + # Create handlers + c_handler = logging.StreamHandler() + c_handler.setLevel(level) + + # Create formatters and add it to handlers + formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') + c_handler.setFormatter(formatter) + + # Add handlers to the logger + self.logger.addHandler(c_handler) + + def get_logger(self): + return self.logger \ No newline at end of file diff --git a/etl/src/etl/validator/retrohome.py b/etl/src/etl/validator/retrohome.py index 3918ed0..9b8b395 100644 --- a/etl/src/etl/validator/retrohome.py +++ b/etl/src/etl/validator/retrohome.py @@ -1,12 +1,22 @@ import os +from utils.logger import Logger class RetroHomeFileStructureValidator(): def __init__(self, source_loc_path): self.source_path = source_loc_path - self.correct_names = [] - self.incorrect_names = [] + self.logger = Logger(name='RetroHomeFileStructureValidator').get_logger() + self.innocent = [] + self.guilty = [] self.validate() def validate(self): - print("nothing to validate") + self.logger.info(f"Starting File Structure Validation on '{self.source_path}'") + for filepath in os.listdir(self.source_path): + if os.path.isdir(os.path.join(self.source_path, filepath)): + self.logger.info(f"Its a file {filepath}") + else: + self.logger.warning(f"Found a file when expecting directory. Ignoring file {filepath}") + + def valid_name(name): + pass \ No newline at end of file