From 81ce49dd9a2f6a71fe84a8e84cb991c150c9bf31 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Tue, 20 Sep 2022 12:48:38 +0000 Subject: [PATCH 1/2] Merge branch 'noc-requirements-remove-esmre' into 'master' noc/noc#1902 Remove ESMRE library from requirements See merge request noc/noc!6611 (cherry picked from commit 26722b03a006f3c8cc3d1c153d692f6c3cd6eba6) 2e483e25 Remove esmre, not use 722fae52 Add comment to xrulelookup. c01d14d4 Add esmre check. 8f5f7ff6 Fix typo. e8e32294 Fix tests --- requirements.txt | 2 -- services/classifier/xrulelookup.py | 6 +++++- tests/test_py_module.py | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index a54de5dd0d..7cdd5e0c6b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -69,8 +69,6 @@ yappi==1.3.3 ssh2-python==0.26.0; extra == "activator" # Classifier bitarray==2.3.4; extra == "classifier" -# esmre==0.5.2; extra == "classifier" -https://github.com/wharris/esmre/archive/refs/heads/main.zip # Cache-Redis hiredis==1.1.0; extra == "cache-redis" redis==3.5.3; extra == "cache-redis" diff --git a/services/classifier/xrulelookup.py b/services/classifier/xrulelookup.py index f9c8be5038..6b871d3d30 100644 --- a/services/classifier/xrulelookup.py +++ b/services/classifier/xrulelookup.py @@ -13,7 +13,11 @@ import cachetools import sre_parse # Third-party modules -import esmre as esm +# Manually setup esmre==1.0.0 +try: + import esmre as esm +except (ModuleNotFoundError, ImportError): + raise NotImplementedError("XRuleLookup needed ESMRE library for worked. Please, install it from pip") import bitarray # NOC modules diff --git a/tests/test_py_module.py b/tests/test_py_module.py index a264e0dfa1..a19a1b7a21 100644 --- a/tests/test_py_module.py +++ b/tests/test_py_module.py @@ -87,7 +87,7 @@ def test_import(module): try: m = __import__(module, {}, {}, "*") assert m - except ImportError as e: + except (ImportError, ModuleNotFoundError, NotImplementedError) as e: if _allow_xfail(module): pytest.xfail(str(e)) else: @@ -100,7 +100,7 @@ def test_module_empty_docstrings(module): m = __import__(module, {}, {}, "*") if m.__doc__ is not None and not m.__doc__.strip(): pytest.xfail("Module-level docstring must not be empty") - except ImportError as e: + except (ImportError, ModuleNotFoundError, NotImplementedError) as e: if _allow_xfail(module): pytest.xfail(str(e)) else: -- GitLab From 8cf44a1f15761909f3c66d9f8aa72482b8c1347f Mon Sep 17 00:00:00 2001 From: Andrey Vertiprahov Date: Tue, 20 Sep 2022 19:03:12 +0500 Subject: [PATCH 2/2] Fix black. --- services/classifier/xrulelookup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/classifier/xrulelookup.py b/services/classifier/xrulelookup.py index 6b871d3d30..42d27abe7d 100644 --- a/services/classifier/xrulelookup.py +++ b/services/classifier/xrulelookup.py @@ -17,7 +17,9 @@ import sre_parse try: import esmre as esm except (ModuleNotFoundError, ImportError): - raise NotImplementedError("XRuleLookup needed ESMRE library for worked. Please, install it from pip") + raise NotImplementedError( + "XRuleLookup needed ESMRE library for worked. Please, install it from pip" + ) import bitarray # NOC modules -- GitLab