pyramid_cubicweb/core.py
changeset 11508 ef8b9021b47b
parent 11504 8701caf9edf0
child 11512 bb548010b390
equal deleted inserted replaced
11507:4d7286f079e1 11508:ef8b9021b47b
     1 from contextlib import contextmanager
     1 from contextlib import contextmanager
     2 from warnings import warn
     2 from warnings import warn
       
     3 from cgi import FieldStorage
     3 
     4 
     4 import rql
     5 import rql
     5 
     6 
     6 from cubicweb.web.request import CubicWebRequestBase
     7 from cubicweb.web.request import CubicWebRequestBase
     7 from cubicweb import repoapi
     8 from cubicweb import repoapi
    63         headers_in = request.headers
    64         headers_in = request.headers
    64 
    65 
    65         super(CubicWebPyramidRequest, self).__init__(vreg, https, post,
    66         super(CubicWebPyramidRequest, self).__init__(vreg, https, post,
    66                                                      headers=headers_in)
    67                                                      headers=headers_in)
    67 
    68 
       
    69         self.content = request.body_file_seekable
       
    70 
       
    71     def setup_params(self, params):
       
    72         self.form = {}
       
    73         for param, val in params.iteritems():
       
    74             if param in self.no_script_form_params and val:
       
    75                 val = self.no_script_form_param(param, val)
       
    76             if isinstance(val, FieldStorage) and val.file:
       
    77                 val = (val.filename, val.file)
       
    78             if param == '_cwmsgid':
       
    79                 self.set_message_id(val)
       
    80             elif param == '__message':
       
    81                 warn('[3.13] __message in request parameter is deprecated '
       
    82                      '(may only be given to .build_url). Seeing this message '
       
    83                      'usualy means your application hold some <form> where '
       
    84                      'you should replace use of __message hidden input by '
       
    85                      'form.set_message, so new _cwmsgid mechanism is properly '
       
    86                      'used',
       
    87                      DeprecationWarning)
       
    88                 self.set_message(val)
       
    89             else:
       
    90                 self.form[param] = val
       
    91 
    68     def is_secure(self):
    92     def is_secure(self):
    69         return self._request.scheme == 'https'
    93         return self._request.scheme == 'https'
    70 
    94 
    71     def relative_path(self, includeparams=True):
    95     def relative_path(self, includeparams=True):
    72         path = self._request.path[1:]
    96         path = self._request.path[1:]