Chris McDonough
2011-12-05 e307fcd13a98ef5b60e6f48c5cebb703c35db31f
- Removed the ``pyramid.renderers.renderer_from_name`` function.  It has been
deprecated since Pyramid 1.0, and was never an API.
5 files modified
128 ■■■■■ changed files
CHANGES.txt 3 ●●●●● patch | view | raw | blame | history
TODO.txt 10 ●●●●● patch | view | raw | blame | history
docs/whatsnew-1.3.rst 3 ●●●●● patch | view | raw | blame | history
pyramid/renderers.py 11 ●●●●● patch | view | raw | blame | history
pyramid/tests/test_renderers.py 101 ●●●●● patch | view | raw | blame | history
CHANGES.txt
@@ -89,6 +89,9 @@
  or ``--python-shell`` argument, which can be any of the values ``python``,
  ``ipython`` or ``bpython``.
- Removed the ``pyramid.renderers.renderer_from_name`` function.  It has been
  deprecated since Pyramid 1.0, and was never an API.
Dependencies
------------
TODO.txt
@@ -42,6 +42,9 @@
Nice-to-Have
------------
- Add a default-view-config-params decorator that can be applied to a class
  which names defaults for method-based view_config decorator options.
- Add narrative docs for wsgiapp and wsgiapp2.
- Flesh out "Paste" narrative docs chapter.
@@ -98,14 +101,7 @@
Future
------
- 1.3: Remove ``pyramid.renderers.renderer_from_name`` (deprecated).
- 1.3: Kill off ``bfg.routes`` envvars in router.
- 1.3: Michael's route group work
- 1.3: Add a default-view-config-params decorator that can be applied to a
  class which names defaults for method-based view_config decorator options.
- 1.4: Remove ``chameleon_text`` / ``chameleon_zpt`` deprecated functions
  (render_*)
docs/whatsnew-1.3.rst
@@ -94,6 +94,9 @@
  or ``--python-shell`` argument, which can be any of the values ``python``,
  ``ipython`` or ``bpython``.
- Removed the ``pyramid.renderers.renderer_from_name`` function.  It has been
  deprecated since Pyramid 1.0, and was never an API.
Documentation Enhancements
--------------------------
pyramid/renderers.py
@@ -4,7 +4,6 @@
import threading
from zope.interface import implementer
from zope.deprecation import deprecated
from pyramid.interfaces import (
    IChameleonLookup,
@@ -350,16 +349,6 @@
        finally:
            lock.release()
    return lookup(info)
def renderer_from_name(path, package=None):
    return RendererHelper(name=path, package=package).renderer
deprecated(
    'renderer_from_name',
    'The "pyramid.renderers.renderer_from_name" function was never an API. '
    'However, its use has been observed "in the wild."  It will disappear in '
    'the next major release. To replace it, use the '
    '``pyramid.renderers.get_renderer`` API instead. ')
@implementer(IRendererInfo)
class RendererHelper(object):
pyramid/tests/test_renderers.py
@@ -340,64 +340,6 @@
        self.assertNotEqual(reg.queryUtility(ITemplateRenderer, name=spec),
                            None)
class TestRendererFromName(unittest.TestCase):
    def setUp(self):
        from zope.deprecation import __show__
        __show__.off()
        self.config = cleanUp()
    def tearDown(self):
        cleanUp()
        from zope.deprecation import __show__
        __show__.on()
    def _callFUT(self, path, package=None):
        from pyramid.renderers import renderer_from_name
        return renderer_from_name(path, package)
    def test_it(self):
        registry = self.config.registry
        settings = {}
        registry.settings = settings
        from pyramid.interfaces import IRendererFactory
        import os
        here = os.path.dirname(os.path.abspath(__file__))
        fixture = os.path.join(here, 'fixtures/minimal.pt')
        def factory(info, **kw):
            return info
        self.config.registry.registerUtility(
            factory, IRendererFactory, name='.pt')
        result = self._callFUT(fixture)
        self.assertEqual(result.registry, registry)
        self.assertEqual(result.type, '.pt')
        self.assertEqual(result.package, None)
        self.assertEqual(result.name, fixture)
        self.assertEqual(result.settings, settings)
    def test_it_with_package(self):
        import pyramid
        registry = self.config.registry
        settings = {}
        registry.settings = settings
        from pyramid.interfaces import IRendererFactory
        import os
        here = os.path.dirname(os.path.abspath(__file__))
        fixture = os.path.join(here, 'fixtures/minimal.pt')
        def factory(info, **kw):
            return info
        self.config.registry.registerUtility(
            factory, IRendererFactory, name='.pt')
        result = self._callFUT(fixture, pyramid)
        self.assertEqual(result.registry, registry)
        self.assertEqual(result.type, '.pt')
        self.assertEqual(result.package, pyramid)
        self.assertEqual(result.name, fixture)
        self.assertEqual(result.settings, settings)
    def test_it_no_renderer(self):
        self.assertRaises(ValueError, self._callFUT, 'foo')
class Test_json_renderer_factory(unittest.TestCase):
    def setUp(self):
        self.config = testing.setUp()
@@ -719,6 +661,49 @@
        self.assertEqual(cloned_helper.registry, 'registry2')
        self.assertFalse(helper is cloned_helper)
    def test_renderer_absolute_file(self):
        registry = self.config.registry
        settings = {}
        registry.settings = settings
        from pyramid.interfaces import IRendererFactory
        import os
        here = os.path.dirname(os.path.abspath(__file__))
        fixture = os.path.join(here, 'fixtures/minimal.pt')
        def factory(info, **kw):
            return info
        self.config.registry.registerUtility(
            factory, IRendererFactory, name='.pt')
        result = self._makeOne(fixture).renderer
        self.assertEqual(result.registry, registry)
        self.assertEqual(result.type, '.pt')
        self.assertEqual(result.package, None)
        self.assertEqual(result.name, fixture)
        self.assertEqual(result.settings, settings)
    def test_renderer_with_package(self):
        import pyramid
        registry = self.config.registry
        settings = {}
        registry.settings = settings
        from pyramid.interfaces import IRendererFactory
        import os
        here = os.path.dirname(os.path.abspath(__file__))
        fixture = os.path.join(here, 'fixtures/minimal.pt')
        def factory(info, **kw):
            return info
        self.config.registry.registerUtility(
            factory, IRendererFactory, name='.pt')
        result = self._makeOne(fixture, pyramid).renderer
        self.assertEqual(result.registry, registry)
        self.assertEqual(result.type, '.pt')
        self.assertEqual(result.package, pyramid)
        self.assertEqual(result.name, fixture)
        self.assertEqual(result.settings, settings)
    def test_renderer_missing(self):
        inst = self._makeOne('foo')
        self.assertRaises(ValueError, getattr, inst, 'renderer')
class TestNullRendererHelper(unittest.TestCase):
    def setUp(self):
        self.config = cleanUp()