def viewMapper(view, attr=None): if inspect.isclass(view): ronly = requestonly(view, attr) attr = attr or '__call__' meth = getattr(view, attr) if attr != 'update': update = getattr(view, 'update', None) else: update = None updateClass = callable(update) if ronly: def _class_request_view(context, request): inst = view(request) if updateClass: update(inst) return inst, meth(inst) return _class_request_view else: def _class_view(context, request): inst = view(context, request) if updateClass: update(inst) return inst, meth(inst) return _class_view else: ronly = requestonly(view) if ronly: def _request_view(context, request): return None, view(request) return _request_view else: def _view(context, request): return None, view(context, request) return _view
def viewInstanceMapper(view): ronly = requestonly(view) if ronly: def _class_requestonly_view(context, request): return view(request) return _class_requestonly_view else: def _class_view(context, request): return view(context, request) return _class_view