From 7a934543814e66a4cb0d217353164e21e30ed229 Mon Sep 17 00:00:00 2001 From: Jason Madden Date: Tue, 31 Jul 2018 06:24:51 -0500 Subject: [PATCH] ``StandardExternalFields`` and ``StandardInternalFields`` are deprecated aliases in ``nti.externalization.externalization``. --- CHANGES.rst | 2 ++ .../externalization/__init__.py | 9 ++++++++ .../tests/test_externalization.py | 23 +++++++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 91220ab..e011e55 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -9,6 +9,8 @@ - ``InterfaceObjectIO`` only returns an anonymous factory for ``IDict`` fields when it wants objects for the value. +- ``StandardExternalFields`` and ``StandardInternalFields`` are + deprecated aliases in ``nti.externalization.externalization``. 1.0.0a5 (2018-07-30) ==================== diff --git a/src/nti/externalization/externalization/__init__.py b/src/nti/externalization/externalization/__init__.py index 57b9399..8be020a 100644 --- a/src/nti/externalization/externalization/__init__.py +++ b/src/nti/externalization/externalization/__init__.py @@ -22,6 +22,7 @@ import warnings from zope import component +from zope import deferredimport from nti.externalization._base_interfaces import MINIMAL_SYNTHETIC_EXTERNAL_KEYS from nti.externalization._base_interfaces import isSyntheticKey @@ -149,3 +150,11 @@ def _clean(m): ext = list(ext) _clean(ext) return ext + +deferredimport.initialize() +deferredimport.deprecatedFrom( + "Import from .interfaces", + "nti.externalization.interfaces", + "StandardExternalFields", + "StandardInternalFields", +) diff --git a/src/nti/externalization/tests/test_externalization.py b/src/nti/externalization/tests/test_externalization.py index 83a44c3..0edac4c 100644 --- a/src/nti/externalization/tests/test_externalization.py +++ b/src/nti/externalization/tests/test_externalization.py @@ -686,3 +686,26 @@ class TestNoPickle(unittest.TestCase): def test_decorator(self): assert_does_not_pickle(DoNotPickleMe()) + + +class TestDeprecatedImports(unittest.TestCase): + + def test_SEF(self): + from nti.externalization import externalization + from nti.externalization import interfaces + import warnings + + with warnings.catch_warnings(record=True): + sef = getattr(externalization, 'StandardExternalFields') + + assert_that(sef, is_(same_instance(interfaces.StandardExternalFields))) + + def test_SIF(self): + from nti.externalization import externalization + from nti.externalization import interfaces + import warnings + + with warnings.catch_warnings(record=True): + sif = getattr(externalization, 'StandardInternalFields') + + assert_that(sif, is_(same_instance(interfaces.StandardInternalFields)))