Chris McDonough
2011-01-08 5e3d64f1bed16e0a9a4a7aee72594b042b5890ea
- Rename ``view_mapper`` argument to add_view to ``mapper``.
5 files modified
42 ■■■■ changed files
CHANGES.txt 14 ●●●● patch | view | raw | blame | history
pyramid/config.py 18 ●●●● patch | view | raw | blame | history
pyramid/tests/test_config.py 2 ●●● patch | view | raw | blame | history
pyramid/tests/test_view.py 4 ●●●● patch | view | raw | blame | history
pyramid/view.py 4 ●●●● patch | view | raw | blame | history
CHANGES.txt
@@ -59,10 +59,10 @@
  the same result as passing ``default_view_mapper`` to the Configurator
  constructor.
- ``config.add_view`` now accepts a ``view_mapper`` keyword argument, which
  should either be ``None``, a string representing a Python dotted name, or
  an object which is an ``IViewMapperFactory``.  This feature is not useful
  for "civilians", only for extension writers.
- ``config.add_view`` now accepts a ``mapper`` keyword argument, which should
  either be ``None``, a string representing a Python dotted name, or an
  object which is an ``IViewMapperFactory``.  This feature is not useful for
  "civilians", only for extension writers.
- Allow static renderer provided during view registration to be overridden at
  request time via a request attribute named ``override_renderer``, which
@@ -102,15 +102,15 @@
- The "view derivation" code is now factored into a set of classes rather
  than a large number of standalone functions (a side effect of the
  ``view_mapper`` refactoring).
  view mapper refactoring).
- The ``pyramid.renderer.RendererHelper`` class has grown a ``render_view``
  method, which is used by the default view mapper (a side effect of the
  ``view_mapper`` refactoring).
  view mapper refactoring).
- The object passed as ``renderer`` to the "view deriver" is now an instance
  of ``pyramid.renderers.RendererHelper`` rather than a dictionary (a side
  effect of ``view_mapper`` refactoring).
  effect of view mapper refactoring).
- The class used as the "page template" in ``pyramid.chameleon_text`` was
  removed, in preference to using a Chameleon-inbuilt version.
pyramid/config.py
@@ -353,9 +353,9 @@
                     attr=None, renderer=None, wrapper_viewname=None,
                     viewname=None, accept=None, order=MAX_ORDER,
                     phash=DEFAULT_PHASH, decorator=None,
                     view_mapper=None):
                     mapper=None):
        view = self.maybe_dotted(view)
        view_mapper = self.maybe_dotted(view_mapper)
        mapper = self.maybe_dotted(mapper)
        if isinstance(renderer, basestring):
            renderer = RendererHelper(name=renderer, package=self.package,
                                      registry = self.registry)
@@ -377,7 +377,7 @@
                              order=order,
                              phash=phash,
                              package=self.package,
                              view_mapper=view_mapper,
                              mapper=mapper,
                              decorator=decorator)
        
        return deriver(view)
@@ -1047,7 +1047,7 @@
                 request_param=None, containment=None, attr=None,
                 renderer=None, wrapper=None, xhr=False, accept=None,
                 header=None, path_info=None, custom_predicates=(),
                 context=None, decorator=None, view_mapper=None):
                 context=None, decorator=None, mapper=None):
        """ Add a :term:`view configuration` to the current
        configuration state.  Arguments to ``add_view`` are broken
        down below into *predicate* arguments and *non-predicate*
@@ -1302,7 +1302,7 @@
          ``True``, the associated view callable will be considered
          viable for a given request.
        view_mapper
        mapper
          A Python object or :term:`dotted Python name` which refers to a
          :term:`view mapper`, or ``None``.  By default it is ``None``, which
@@ -1316,7 +1316,7 @@
        context = self.maybe_dotted(context)
        for_ = self.maybe_dotted(for_)
        containment = self.maybe_dotted(containment)
        view_mapper = self.maybe_dotted(view_mapper)
        mapper = self.maybe_dotted(mapper)
        if not view:
            if renderer:
@@ -1350,7 +1350,7 @@
                    renderer=renderer, wrapper=wrapper, xhr=xhr, accept=accept,
                    header=header, path_info=path_info,
                    custom_predicates=custom_predicates, context=context,
                    view_mapper = view_mapper,
                    mapper = mapper,
                    )
                view_info = deferred_views.setdefault(route_name, [])
                view_info.append(info)
@@ -1399,7 +1399,7 @@
                                  order=order,
                                  phash=phash,
                                  package=self.package,
                                  view_mapper=view_mapper,
                                  mapper=mapper,
                                  decorator=decorator)
            derived_view = deriver(view)
@@ -2792,7 +2792,7 @@
    @wraps_view
    def mapped_view(self, view):
        mapper = self.kw.get('view_mapper')
        mapper = self.kw.get('mapper')
        if mapper is None:
            mapper = getattr(view, '__view_mapper__', None)
            if mapper is None:
pyramid/tests/test_config.py
@@ -3799,7 +3799,7 @@
                    return 'OK'
                return wrapped
        def view(context, request): return 'NOTOK'
        deriver = self._makeOne(view_mapper=mapper)
        deriver = self._makeOne(mapper=mapper)
        result = deriver(view)
        self.failIf(result is view)
        self.assertEqual(result(None, None), 'OK')
pyramid/tests/test_view.py
@@ -229,13 +229,13 @@
        
    def test_create_nondefaults(self):
        decorator = self._makeOne(name=None, request_type=None, for_=None,
                                  permission='foo', view_mapper='mapper',
                                  permission='foo', mapper='mapper',
                                  decorator='decorator')
        self.assertEqual(decorator.name, None)
        self.assertEqual(decorator.request_type, None)
        self.assertEqual(decorator.context, None)
        self.assertEqual(decorator.permission, 'foo')
        self.assertEqual(decorator.view_mapper, 'mapper')
        self.assertEqual(decorator.mapper, 'mapper')
        self.assertEqual(decorator.decorator, 'decorator')
        
    def test_call_function(self):
pyramid/view.py
@@ -384,7 +384,7 @@
                 containment=None, attr=None, renderer=None, wrapper=None,
                 xhr=False, accept=None, header=None, path_info=None,
                 custom_predicates=(), context=None, decorator=None,
                 view_mapper=None):
                 mapper=None):
        self.name = name
        self.request_type = request_type
        self.context = context or for_
@@ -402,7 +402,7 @@
        self.path_info = path_info
        self.custom_predicates = custom_predicates
        self.decorator = decorator
        self.view_mapper = view_mapper
        self.mapper = mapper
    def __call__(self, wrapped):
        settings = self.__dict__.copy()