From 8d86e0ff27ba26bcaabf29b9ba6415d3294cf1bd Mon Sep 17 00:00:00 2001
From: Radko Krkos <krkos@cesnet.cz>
Date: Mon, 7 Mar 2022 09:30:21 +0100
Subject: [PATCH] flowmon-ads: Generalize logging in parse_details()

* This is part of code base unification between nsharp and flowmon-ads
  connectors.
* The nsharp connector uses Pythons logging module, while ads uses
  sys.stderr.write(), luckily this can be solved in enrich_detail().
---
 flowmon-ads/warden3_flowmon_ads_filer.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flowmon-ads/warden3_flowmon_ads_filer.py b/flowmon-ads/warden3_flowmon_ads_filer.py
index aa9814e..7549454 100755
--- a/flowmon-ads/warden3_flowmon_ads_filer.py
+++ b/flowmon-ads/warden3_flowmon_ads_filer.py
@@ -218,7 +218,7 @@ unit_translate = {
 }
 
 
-def parse_detail(e):
+def parse_detail(e, log=sys.stderr.write):
     detail = e["Detail"]
     for key, matchers in detail_regexps.items():
         results = []
@@ -244,7 +244,7 @@ def parse_detail(e):
                 try:
                     res = shaper(reg_res)
                 except Exception as e:
-                    sys.stderr.write('Error parsing "%s" on detail "%s": %s\n' % (reg_res, detail, e))
+                    log('Error parsing "%s" on detail "%s": %s\n' % (reg_res, detail, e))
                 else:
                     results.append(res)
         uniq_results = []   # We cannot use sets for uniq, as result may be unhashable
@@ -252,7 +252,7 @@ def parse_detail(e):
             if val and val not in uniq_results:
                 uniq_results.append(val)
         if len(uniq_results) > 1:
-            sys.stderr.write('Warning: multiple regexp rules matched differently for "%s" on detail "%s"\n' % (key, detail))
+            log('Warning: multiple regexp rules matched differently for "%s" on detail "%s"\n' % (key, detail))
         if uniq_results:
             e[key] = uniq_results[0]
 
-- 
GitLab