Tres Seaver
2014-11-26 30c443fc3b02857d89408668eeca63b7762578b2
Merge pull request #1475 from hugobranquinho/master

Shortcut for package name on registry
4 files modified
24 ■■■■■ changed files
CONTRIBUTORS.txt 2 ●●●●● patch | view | raw | blame | history
docs/api/registry.rst 12 ●●●●● patch | view | raw | blame | history
pyramid/registry.py 5 ●●●●● patch | view | raw | blame | history
pyramid/tests/test_registry.py 5 ●●●●● patch | view | raw | blame | history
CONTRIBUTORS.txt
@@ -234,3 +234,5 @@
- Fenton Travers, 2014/05/06
- Randall Leeds, 2014/11/11
- Hugo Branquinho, 2014/11/25
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
pyramid/registry.py
@@ -5,6 +5,7 @@
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 @@
        # 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
pyramid/tests/test_registry.py
@@ -12,6 +12,11 @@
        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)