From 39846565d0d98a6a9ef2ef34faad3eb620b3e9fb Mon Sep 17 00:00:00 2001 From: Hugo Branquinho Date: Tue, 25 Nov 2014 16:31:04 +0000 Subject: Shortcut for package name on registry --- pyramid/registry.py | 5 +++++ pyramid/tests/test_registry.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pyramid/registry.py b/pyramid/registry.py index 606251a8d..8c05940b9 100644 --- a/pyramid/registry.py +++ b/pyramid/registry.py @@ -5,6 +5,7 @@ from zope.interface import implementer from zope.interface.registry import Components from pyramid.compat import text_ +from pyramid.decorator import reify from pyramid.interfaces import ( ISettings, @@ -42,6 +43,10 @@ class Registry(Components, dict): # defeat bool determination via dict.__len__ return True + @reify + def package_name(self): + return self.__name__ + def registerSubscriptionAdapter(self, *arg, **kw): result = Components.registerSubscriptionAdapter(self, *arg, **kw) self.has_listeners = True diff --git a/pyramid/tests/test_registry.py b/pyramid/tests/test_registry.py index 11019b852..50f49f24d 100644 --- a/pyramid/tests/test_registry.py +++ b/pyramid/tests/test_registry.py @@ -12,6 +12,11 @@ class TestRegistry(unittest.TestCase): registry = self._makeOne() self.assertEqual(registry.__nonzero__(), True) + def test_package_name(self): + package_name = 'testing' + registry = self._getTargetClass()(package_name) + self.assertEqual(registry.package_name, package_name) + def test_registerHandler_and_notify(self): registry = self._makeOne() self.assertEqual(registry.has_listeners, False) -- cgit v1.2.3 From d89c5f76b3032a1447f19dc87a7a6ceb7508c3cb Mon Sep 17 00:00:00 2001 From: Hugo Branquinho Date: Tue, 25 Nov 2014 19:38:24 +0000 Subject: Documentation added --- CONTRIBUTORS.txt | 2 ++ docs/api/registry.rst | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 66f029cb7..9c2191f3b 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -234,3 +234,5 @@ Contributors - Fenton Travers, 2014/05/06 - Randall Leeds, 2014/11/11 + +- Hugo Branquinho, 2014/11/25 diff --git a/docs/api/registry.rst b/docs/api/registry.rst index bab3e26ba..57a80b3f5 100644 --- a/docs/api/registry.rst +++ b/docs/api/registry.rst @@ -14,6 +14,18 @@ accessed as ``request.registry.settings`` or ``config.registry.settings`` in a typical Pyramid application. + .. attribute:: package_name + + .. versionadded:: 1.6 + + When a registry is set up (or created) by a :term:`Configurator`, this + attribute will be the shortcut for + :attr:`pyramid.config.Configurator.package_name`. + + This attribute is often accessed as ``request.registry.package_name`` or + ``config.registry.package_name`` or ``config.package_name`` + in a typical Pyramid application. + .. attribute:: introspector .. versionadded:: 1.3 -- cgit v1.2.3