#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Sep 27 14:20:58 2019 @author: tanya """ import os import sys import logging import pandas as pd sys.path.append(os.getcwd()) class ExceptionsHandler: ''' ''' def __init__(self): ''' ''' def check_is_file(self, path): ''' ''' if not os.path.isfile(path): err = "File {} not found".format(path) self._log.error(err) raise FileNotFoundError(err) def _check_column_abscence(self, columns: (str, list), data: pd.DataFrame, error_or_warning: str, logger = None): ''' ''' if logger is None: logger = logging.getLogger() if isinstance(columns, str): columns = [columns] for column in columns: if column not in data.columns: err = ("{} is not an internal column name".format(column)) getattr(logger, error_or_warning)(err) if error_or_warning == "error": raise Exception(err) def error_column_abscence(self, columns: (str, list), data: pd.DataFrame, logger = None): ''' ''' return self._check_column_abscence(columns=columns, data=data, error_or_warning="error", logger=logger) def warn_column_abscence(self, columns: (str, list), data: pd.DataFrame, logger = None): ''' ''' return self._check_column_abscence(columns=columns, data=data, error_or_warning="warning", logger=logger)