Пример #1
0
 def __call__ (self, method, resource, request) :
     result = None
     _, ext = pp_splitext (request.path)
     ext    = (ext or resource.ext or "").strip (".")
     if ext :
         rs = self.by_extension [ext]
         if rs :
             result    = rs [0]
             mime_type = None
     if result is None :
         matches = sorted \
             ( self._matches (request.accept_mimetypes)
             , key     = TFL.Getter.priority
             , reverse = True
             )
         if matches :
             match     = matches [0]
             result    = match.render
             mime_type = match.mime_type
     not_picky = \
         resource.ignore_picky_accept or not request.accept_mimetypes
     if result is None and not_picky and self.renderers :
         result    = self.renderers [0]
         mime_type = None
     if result is not None :
         return result (method, resource, mime_type)
Пример #2
0
 def __call__ (self, method, resource, request) :
     result = None
     _, ext = pp_splitext (request.path)
     ext    = (ext or resource.ext or "").strip (".")
     if ext :
         rs = self.by_extension [ext]
         if rs :
             result    = rs [0]
             mime_type = None
     if result is None :
         matches = sorted \
             ( self._matches (request.accept_mimetypes)
             , key     = TFL.Getter.priority
             , reverse = True
             )
         if matches :
             match     = matches [0]
             result    = match.render
             mime_type = match.mime_type
     not_picky = \
         resource.ignore_picky_accept or not request.accept_mimetypes
     if result is None and not_picky and self.renderers :
         result    = self.renderers [0]
         mime_type = None
     if result is not None :
         return result (method, resource, mime_type)
Пример #3
0
 def render_acceptable (self, method, resource, request, response) :
     l = []
     body = dict (accept_mimetypes = l)
     urlb, ext = pp_splitext (request.url)
     for r in self.renderers :
         url = ".".join ((urlb, r.extensions [0])) if r.extensions else urlb
         l.append \
             ( dict
                 ( extensions = r.extensions
                 , mime_types = r.mime_types
                 , url        = url
                 )
             )
     renderer = getattr (method, "accept_mimetypes_renderer", JSON) \
         (method, resource)
     response.status_code = 406
     renderer (request, response, body)
Пример #4
0
 def render_acceptable (self, method, resource, request, response) :
     l = []
     body = dict (accept_mimetypes = l)
     urlb, ext = pp_splitext (request.url)
     for r in self.renderers :
         url = ".".join ((urlb, r.extensions [0])) if r.extensions else urlb
         l.append \
             ( dict
                 ( extensions = r.extensions
                 , mime_types = r.mime_types
                 , url        = url
                 )
             )
     renderer = getattr (method, "accept_mimetypes_renderer", JSON) \
         (method, resource)
     response.status_code = 406
     renderer (request, response, body)