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