diff options
| author | Tres Seaver <tseaver@palladion.com> | 2014-11-26 15:16:42 -0500 |
|---|---|---|
| committer | Tres Seaver <tseaver@palladion.com> | 2014-11-26 15:16:42 -0500 |
| commit | 30c443fc3b02857d89408668eeca63b7762578b2 (patch) | |
| tree | f4181d5e4e7e0c5bfff441e0fcd9ed2a601cafd2 | |
| parent | f9d58b5843c49248262bbadeacb6e7b209f7abd7 (diff) | |
| parent | d89c5f76b3032a1447f19dc87a7a6ceb7508c3cb (diff) | |
| download | pyramid-30c443fc3b02857d89408668eeca63b7762578b2.tar.gz pyramid-30c443fc3b02857d89408668eeca63b7762578b2.tar.bz2 pyramid-30c443fc3b02857d89408668eeca63b7762578b2.zip | |
Merge pull request #1475 from hugobranquinho/master
Shortcut for package name on registry
| -rw-r--r-- | CONTRIBUTORS.txt | 2 | ||||
| -rw-r--r-- | docs/api/registry.rst | 12 | ||||
| -rw-r--r-- | pyramid/registry.py | 5 | ||||
| -rw-r--r-- | pyramid/tests/test_registry.py | 5 |
4 files changed, 24 insertions, 0 deletions
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 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) |
