From d9ce6cc440019ecfc73f1c82e41da4e9ce02a234 Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Thu, 16 Apr 2020 10:17:58 +0900 Subject: [PATCH 1/6] Configure logging handlers before submodule imports - Fix #474 - Fix #475 --- smart_open/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/smart_open/__init__.py b/smart_open/__init__.py index 4f41fb88..970c017c 100644 --- a/smart_open/__init__.py +++ b/smart_open/__init__.py @@ -25,6 +25,10 @@ import logging from smart_open import version +logger = logging.getLogger(__name__) +if len(logger.handlers) == 0: + logger.addHandler(logging.NullHandler()) + from .smart_open_lib import open, parse_uri, smart_open, register_compressor from .s3 import iter_bucket as s3_iter_bucket @@ -36,8 +40,4 @@ 'smart_open', ] - __version__ = version.__version__ - -logger = logging.getLogger(__name__) -logger.addHandler(logging.NullHandler()) From fcecb9ce550141ff6aec050f1cdff24b45e73d04 Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Thu, 16 Apr 2020 11:01:40 +0900 Subject: [PATCH 2/6] flake8 fix --- smart_open/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smart_open/__init__.py b/smart_open/__init__.py index 970c017c..31fb3926 100644 --- a/smart_open/__init__.py +++ b/smart_open/__init__.py @@ -29,8 +29,8 @@ if len(logger.handlers) == 0: logger.addHandler(logging.NullHandler()) -from .smart_open_lib import open, parse_uri, smart_open, register_compressor -from .s3 import iter_bucket as s3_iter_bucket +from .smart_open_lib import open, parse_uri, smart_open, register_compressor # noqa: E402 +from .s3 import iter_bucket as s3_iter_bucket # noqa: E402 __all__ = [ 'open', From f6efa554b56a5f85ccc97fc412312917db53075f Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Fri, 24 Apr 2020 10:13:39 +0900 Subject: [PATCH 3/6] replace import-time warning with run-time exception --- smart_open/transport.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/smart_open/transport.py b/smart_open/transport.py index 2d43d862..fa2d0b41 100644 --- a/smart_open/transport.py +++ b/smart_open/transport.py @@ -40,7 +40,6 @@ def register_transport(submodule): try: submodule = importlib.import_module(submodule) except ImportError: - logger.warning('unable to import %r, disabling that module', submodule) return if hasattr(submodule, 'SCHEME'): @@ -64,8 +63,13 @@ def get_transport(scheme): This submodule must have been previously registered via :func:`register_transport`. """ - message = "scheme %r is not supported, expected one of %r" % (scheme, SUPPORTED_SCHEMES) - + expected = SUPPORTED_SCHEMES + readme_url = 'https://github.com/RaRe-Technologies/smart_open/blob/master/README.rst' + message = ( + "Unable to handle scheme %(scheme)r, expected one of %(expected)r. " + "Extra dependencies required by %(scheme)r may be missing. " + "See <%(readme_url)s> for details." % locals() + ) try: submodule = _REGISTRY[scheme] except KeyError: From e8163c58c5c3cfc204f0324b1e22416033c3bb96 Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Sat, 25 Apr 2020 14:45:40 +0900 Subject: [PATCH 4/6] Revert "flake8 fix" This reverts commit fcecb9ce550141ff6aec050f1cdff24b45e73d04. --- smart_open/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smart_open/__init__.py b/smart_open/__init__.py index 31fb3926..970c017c 100644 --- a/smart_open/__init__.py +++ b/smart_open/__init__.py @@ -29,8 +29,8 @@ if len(logger.handlers) == 0: logger.addHandler(logging.NullHandler()) -from .smart_open_lib import open, parse_uri, smart_open, register_compressor # noqa: E402 -from .s3 import iter_bucket as s3_iter_bucket # noqa: E402 +from .smart_open_lib import open, parse_uri, smart_open, register_compressor +from .s3 import iter_bucket as s3_iter_bucket __all__ = [ 'open', From e85d0b100bd907ddf82f4c5e132690000d8cb4a0 Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Sat, 25 Apr 2020 14:45:49 +0900 Subject: [PATCH 5/6] Revert "Configure logging handlers before submodule imports" This reverts commit d9ce6cc440019ecfc73f1c82e41da4e9ce02a234. --- smart_open/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/smart_open/__init__.py b/smart_open/__init__.py index 970c017c..4f41fb88 100644 --- a/smart_open/__init__.py +++ b/smart_open/__init__.py @@ -25,10 +25,6 @@ import logging from smart_open import version -logger = logging.getLogger(__name__) -if len(logger.handlers) == 0: - logger.addHandler(logging.NullHandler()) - from .smart_open_lib import open, parse_uri, smart_open, register_compressor from .s3 import iter_bucket as s3_iter_bucket @@ -40,4 +36,8 @@ 'smart_open', ] + __version__ = version.__version__ + +logger = logging.getLogger(__name__) +logger.addHandler(logging.NullHandler()) From 6ad8aff92733f3bfd78e3ae99451306b5b54d309 Mon Sep 17 00:00:00 2001 From: Michael Penkov Date: Sat, 25 Apr 2020 14:47:29 +0900 Subject: [PATCH 6/6] update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08bfe188..6756b7b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased + - Prevent smart_open from writing to logs on import (PR [#476](https://github.com/RaRe-Technologies/smart_open/pull/476), [@mpenkov](https://github.com/mpenkov)) + # 1.11.0, 8 Apr 2020 - Fix GCS multiple writes (PR [#421](https://github.com/RaRe-Technologies/smart_open/pull/421), [@petedannemann](https://github.com/petedannemann))