1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Created on Fri Sep 27 14:20:58 2019
- @author: tanya
- """
- import os
- import sys
- import pandas as pd
- from cdplib.log import Log
- sys.path.append(os.getcwd())
- class ExceptionsHandler:
- '''
- '''
- def __init__(self, logger: Log = None):
- '''
- '''
- self._logger = logger or Log("ExceptionHandler")
- def check_is_file(self, path: str):
- '''
- '''
- if not os.path.isfile(path):
- err = "File {} not found".format(path)
- self._logger.error(err)
- raise FileNotFoundError(err)
- def assert_is_directory(self, path: str):
- ""
- ""
- assert(isinstance(path, str)),\
- "Parameter 'path' must of str type"
- dirname = os.path.dirname("path")
- if len(dirname) > 0:
- os.mkdir(dirname, exists_ok=True)
- def _check_column_abscence(self,
- columns: (str, list),
- data: pd.DataFrame,
- error_or_warning: str):
- '''
- '''
- 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(self._logger, error_or_warning)(err)
- if error_or_warning == "error":
- raise Exception(err)
- def error_column_abscence(self,
- columns: (str, list),
- data: pd.DataFrame):
- '''
- '''
- return self._check_column_abscence(columns=columns,
- data=data,
- error_or_warning="error")
- def warn_column_abscence(self, columns: (str, list), data: pd.DataFrame):
- '''
- '''
- return self._check_column_abscence(columns=columns,
- data=data,
- error_or_warning="warning")
|