12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/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)
|