From 246b0a9522774a63144587020ac4b2a4dbf05363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com> Date: Tue, 14 Jul 2020 15:04:35 +0200 Subject: [PATCH] FIX: use filter in table_importer --- src/caosadvancedtools/suppressKnown.py | 2 +- src/caosadvancedtools/table_importer.py | 26 ++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/caosadvancedtools/suppressKnown.py b/src/caosadvancedtools/suppressKnown.py index 127ed04e..61b01605 100644 --- a/src/caosadvancedtools/suppressKnown.py +++ b/src/caosadvancedtools/suppressKnown.py @@ -22,7 +22,7 @@ class SuppressKnown(logging.Filter): when they are known. """ - def __init__(self, db_file=None, logger=None): + def __init__(self, db_file=None): if db_file: self.db_file = db_file else: diff --git a/src/caosadvancedtools/table_importer.py b/src/caosadvancedtools/table_importer.py index c859f675..5f84e855 100755 --- a/src/caosadvancedtools/table_importer.py +++ b/src/caosadvancedtools/table_importer.py @@ -22,7 +22,7 @@ import logging import numpy as np import pandas as pd -from caosadvancedtools.suppressable import Suppressable +from caosadvancedtools.suppressKnown import SuppressKnown logger = logging.getLogger("caosadvancedtools") @@ -61,7 +61,7 @@ class XLS_Importer(object): obligatory_columns: list of column names, optional each listed column must not have missing values """ - self.sup = Suppressable(logger=logger) + self.sup = SuppressKnown() self.required_columns = list(converters.keys()) self.obligatory_columns = obligatory_columns self.unique_columns = unique_columns @@ -89,9 +89,9 @@ class XLS_Importer(object): def check_columns(self, df, filename=None): for col in self.required_columns: if col not in df.columns: - errmssg = "Column '{}' missing in ".format(col) - errmssg += "{}.".format(filename) if filename else "the file." - raise ValueError(errmssg) + errmsg = "Column '{}' missing in ".format(col) + errmsg += "{}.".format(filename) if filename else "the file." + raise ValueError(errmsg) def check_unique(self, df, filename=None): df = df.copy() @@ -101,15 +101,15 @@ class XLS_Importer(object): element = tuple(row.loc[key] for key in self.unique_columns) if element in uniques: - errmssg = ( + errmsg = ( "The {}. row contains the values '{}'.\nThis value " "combination should be unique, but was used in a previous " "row in\n").format(index+1, element) - errmssg += "{}.".format(filename) if filename else "the file." - errmssg += "\nThis row will be ignored!" + errmsg += "{}.".format(filename) if filename else "the file." + errmsg += "\nThis row will be ignored!" - self.sup.warning(errmssg, identifier=filename, - category="inconsistency") + logger.warning(errmsg, extra={'identifier':filename, + 'category':"inconsistency"}) df = df.drop(index) else: uniques.append(element) @@ -134,13 +134,13 @@ class XLS_Importer(object): for key in self.obligatory_columns: if pd.isnull(row.loc[key]): - errmssg = ( + errmsg = ( "Required information is missing ({}) in {}. row" " (without header) of " "file:\n{}".format(key, index+1, filename)) - self.sup.warning(errmssg, identifier=filename, - category="inconsistency") + logger.warning(errmsg, extra={'identifier':filename, + 'category':"inconsistency"}) df = df.drop(index) continue -- GitLab