req.py
changeset 3655 af86ab65a282
parent 3629 559cad62c786
child 3659 993997b4b41d
equal deleted inserted replaced
3654:e4bed64e0ad7 3655:af86ab65a282
    10 from urllib import quote as urlquote, unquote as urlunquote
    10 from urllib import quote as urlquote, unquote as urlunquote
    11 from datetime import time, datetime, timedelta
    11 from datetime import time, datetime, timedelta
    12 
    12 
    13 from logilab.common.decorators import cached
    13 from logilab.common.decorators import cached
    14 
    14 
    15 from cubicweb import Unauthorized, typed_eid
    15 from cubicweb import Unauthorized, RegistryException, typed_eid
    16 from cubicweb.rset import ResultSet
    16 from cubicweb.rset import ResultSet
    17 from cubicweb.utils import ustrftime, strptime, todate, todatetime
    17 from cubicweb.utils import ustrftime, strptime, todate, todatetime
    18 
    18 
    19 ONESECOND = timedelta(0, 1, 0)
    19 ONESECOND = timedelta(0, 1, 0)
    20 CACHE_REGISTRY = {}
    20 CACHE_REGISTRY = {}
   252     # formating methods #######################################################
   252     # formating methods #######################################################
   253 
   253 
   254     def view(self, __vid, rset=None, __fallback_oid=None, __registry='views',
   254     def view(self, __vid, rset=None, __fallback_oid=None, __registry='views',
   255              **kwargs):
   255              **kwargs):
   256         """shortcut to self.vreg.view method avoiding to pass the request"""
   256         """shortcut to self.vreg.view method avoiding to pass the request"""
   257         return self.vreg[__registry].render(__vid, self, __fallback_oid,
   257         try:
   258                                             rset=rset, **kwargs)
   258             view =  self.vreg[__registry].select(__vid, self, rset=rset, **kwargs)
       
   259         except RegistryException:
       
   260             view =  self.vreg[__registry].select(__fallback_oid, self,
       
   261                                                  rset=rset, **kwargs)
       
   262         return view.render(**kwargs)
   259 
   263 
   260     def format_date(self, date, date_format=None, time=False):
   264     def format_date(self, date, date_format=None, time=False):
   261         """return a string for a date time according to instance's
   265         """return a string for a date time according to instance's
   262         configuration
   266         configuration
   263         """
   267         """