当前位置: 首页>>代码示例>>Python>>正文


Python compat.native_函数代码示例

本文整理汇总了Python中webob.compat.native_函数的典型用法代码示例。如果您正苦于以下问题:Python native_函数的具体用法?Python native_怎么用?Python native_使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了native_函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: from_file

    def from_file(cls, fp):
        """Reads a response from a file-like object (it must implement
        ``.read(size)`` and ``.readline()``).

        It will read up to the end of the response, not the end of the
        file.

        This reads the response as represented by ``str(resp)``; it
        may not read every valid HTTP response properly.  Responses
        must have a ``Content-Length``"""
        headerlist = []
        status = fp.readline().strip()
        is_text = isinstance(status, text_type)

        if is_text:
            _colon = ':'
            _http = 'HTTP/'
        else:
            _colon = b':'
            _http = b'HTTP/'

        if status.startswith(_http):
            (http_ver, status_num, status_text) = status.split(None, 2)
            status = '%s %s' % (native_(status_num), native_(status_text))

        while 1:
            line = fp.readline().strip()
            if not line:
                # end of headers
                break
            try:
                header_name, value = line.split(_colon, 1)
            except ValueError:
                raise ValueError('Bad header line: %r' % line)
            value = value.strip()
            headerlist.append((
                native_(header_name, 'latin-1'),
                native_(value, 'latin-1')
            ))
        r = cls(
            status=status,
            headerlist=headerlist,
            app_iter=(),
        )
        body = fp.read(r.content_length or 0)
        if is_text:
            r.text = body
        else:
            r.body = body
        return r
开发者ID:rylz,项目名称:webob,代码行数:50,代码来源:response.py

示例2: serialize

    def serialize(self, full=True):
        result = []
        add = result.append
        add(self.name + b"=" + _value_quote(self.value))

        if full:
            for k in _c_valkeys:
                v = self[k]

                if v:
                    info = _c_renames[k]
                    name = info["name"]
                    quoter = info["quoter"]
                    add(name + b"=" + quoter(v))
            expires = self[b"expires"]

            if expires:
                add(b"expires=" + expires)

            if self.secure:
                add(b"secure")

            if self.httponly:
                add(b"HttpOnly")

            if self.samesite:
                add(b"SameSite=" + self.samesite)

        return native_(b"; ".join(result), "ascii")
开发者ID:Pylons,项目名称:webob,代码行数:29,代码来源:cookies.py

示例3: test__setitem__success_append

 def test__setitem__success_append(self):
     value = native_(b'La Pe\xc3\xb1a', 'utf-8')
     environ = {'HTTP_COOKIE':'a=1; b=2'}
     inst = self._makeOne(environ)
     inst['c'] = value
     self.assertEqual(
         environ['HTTP_COOKIE'], 'a=1; b=2; c="La Pe\\303\\261a"')
开发者ID:nkunal,项目名称:webob,代码行数:7,代码来源:test_cookies.py

示例4: test_fget_nonascii

 def test_fget_nonascii(self):
     desc = self._callFUT("HTTP_X_AKEY", encattr="url_encoding")
     req = self._makeRequest()
     if PY3:
         req.environ["HTTP_X_AKEY"] = b"\xc3\xab".decode("latin-1")
     else:
         req.environ["HTTP_X_AKEY"] = b"\xc3\xab"
     result = desc.fget(req)
     self.assertEqual(result, native_(b"\xc3\xab", "latin-1"))
开发者ID:sigmavirus24,项目名称:webob,代码行数:9,代码来源:test_descriptors.py

示例5: test_fget_nonascii

 def test_fget_nonascii(self):
     desc = self._callFUT('HTTP_X_AKEY', encattr='url_encoding')
     req = self._makeRequest()
     if PY3:
         req.environ['HTTP_X_AKEY'] = b'\xc3\xab'.decode('latin-1')
     else:
         req.environ['HTTP_X_AKEY'] = b'\xc3\xab'
     result = desc.fget(req)
     assert result == native_(b'\xc3\xab', 'latin-1')
开发者ID:invisibleroads,项目名称:webob,代码行数:9,代码来源:test_descriptors.py

示例6: serialize_date

def serialize_date(dt):
    if isinstance(dt, (bytes, text_type)):
        return native_(dt)
    if isinstance(dt, timedelta):
        dt = _now() + dt
    if isinstance(dt, (datetime, date)):
        dt = dt.timetuple()
    if isinstance(dt, (tuple, time.struct_time)):
        dt = calendar.timegm(dt)
    if not (isinstance(dt, float) or isinstance(dt, integer_types)):
        raise ValueError(
            "You must pass in a datetime, date, time tuple, or integer object, "
            "not %r" % dt)
    return formatdate(dt, usegmt=True)
开发者ID:EdCornejo,项目名称:cp4pc,代码行数:14,代码来源:datetime_utils.py

示例7: parse_date

def parse_date(value):
    if not value:
        return None
    try:
        value = native_(value)
    except:
        return None
    t = parsedate_tz(value)
    if t is None:
        # Could not parse
        return None
    if t[-1] is None:
        # No timezone given.  None would mean local time, but we'll force UTC
        t = t[:9] + (0,)
    t = mktime_tz(t)
    return datetime.fromtimestamp(t, UTC)
开发者ID:EdCornejo,项目名称:cp4pc,代码行数:16,代码来源:datetime_utils.py

示例8: serialize

 def serialize(self, full=True):
     result = []
     add = result.append
     add(self.name + b'=' + _quote(self.value))
     if full:
         for k in _c_valkeys:
             v = self[k]
             if v:
                 add(_c_renames[k]+b'='+_quote(v))
         expires = self[b'expires']
         if expires:
             add(b'expires=' + expires)
         if self.secure:
             add(b'secure')
         if self.httponly:
             add(b'HttpOnly')
     return native_(b'; '.join(result), 'ascii')
开发者ID:03013405yujiangfeng,项目名称:XX-Net,代码行数:17,代码来源:cookies.py

示例9: md5_etag

    def md5_etag(self, body=None, set_content_md5=False):
        """
        Generate an etag for the response object using an MD5 hash of
        the body (the body parameter, or ``self.body`` if not given)

        Sets ``self.etag``
        If ``set_content_md5`` is True sets ``self.content_md5`` as well
        """
        if body is None:
            body = self.body
        md5_digest = md5(body).digest()
        md5_digest = b64encode(md5_digest)
        md5_digest = md5_digest.replace(b'\n', b'')
        md5_digest = native_(md5_digest)
        self.etag = md5_digest.strip('=')
        if set_content_md5:
            self.content_md5 = md5_digest
开发者ID:nkunal,项目名称:webob,代码行数:17,代码来源:response.py

示例10: _mutate_header

    def _mutate_header(self, name, value):
        header = self._environ.get("HTTP_COOKIE")
        had_header = header is not None
        header = header or ""

        if not PY2:
            header = header.encode("latin-1")
        bytes_name = bytes_(name, "ascii")

        if value is None:
            replacement = None
        else:
            bytes_val = _value_quote(bytes_(value, "utf-8"))
            replacement = bytes_name + b"=" + bytes_val
        matches = _rx_cookie.finditer(header)
        found = False

        for match in matches:
            start, end = match.span()
            match_name = match.group(1)

            if match_name == bytes_name:
                found = True

                if replacement is None:  # remove value
                    header = header[:start].rstrip(b" ;") + header[end:]
                else:  # replace value
                    header = header[:start] + replacement + header[end:]

                break
        else:
            if replacement is not None:
                if header:
                    header += b"; " + replacement
                else:
                    header = replacement

        if header:
            self._environ["HTTP_COOKIE"] = native_(header, "latin-1")
        elif had_header:
            self._environ["HTTP_COOKIE"] = ""

        return found
开发者ID:Pylons,项目名称:webob,代码行数:43,代码来源:cookies.py

示例11: serialize

 def serialize(self, full=True):
     result = []
     add = result.append
     add(self.name + b'=' + _value_quote(self.value))
     if full:
         for k in _c_valkeys:
             v = self[k]
             if v:
                 info = _c_renames[k]
                 name = info['name']
                 quoter = info['quoter']
                 add(name + b'=' + quoter(v))
         expires = self[b'expires']
         if expires:
             add(b'expires=' + expires)
         if self.secure:
             add(b'secure')
         if self.httponly:
             add(b'HttpOnly')
         if self.samesite:
             add(b'SameSite=' + self.samesite)
     return native_(b'; '.join(result), 'ascii')
开发者ID:SmartTeleMax,项目名称:webob,代码行数:22,代码来源:cookies.py

示例12: _mutate_header

    def _mutate_header(self, name, value):
        header = self._environ.get('HTTP_COOKIE')
        had_header = header is not None
        header = header or ''
        if PY3: # pragma: no cover
                header = header.encode('latin-1')
        bytes_name = bytes_(name, 'ascii')
        if value is None:
            replacement = None
        else:
            bytes_val = _value_quote(bytes_(value, 'utf-8'))
            replacement = bytes_name + b'=' + bytes_val
        matches = _rx_cookie.finditer(header)
        found = False
        for match in matches:
            start, end = match.span()
            match_name = match.group(1)
            if match_name == bytes_name:
                found = True
                if replacement is None: # remove value
                    header = header[:start].rstrip(b' ;') + header[end:]
                else: # replace value
                    header = header[:start] + replacement + header[end:]
                break
        else:
            if replacement is not None:
                if header:
                    header += b'; ' + replacement
                else:
                    header = replacement

        if header:
            self._environ['HTTP_COOKIE'] = native_(header, 'latin-1')
        elif had_header:
            self._environ['HTTP_COOKIE'] = ''

        return found
开发者ID:ViktorL,项目名称:webob,代码行数:37,代码来源:cookies.py

示例13: test___setitem__name_not_encodeable_to_ascii

 def test___setitem__name_not_encodeable_to_ascii(self):
     name = native_(b'La Pe\xc3\xb1a', 'utf-8')
     inst = self._makeOne({})
     with pytest.raises(TypeError):
         inst.__setitem__(name, 'abc')
开发者ID:thaisvergani,项目名称:webob,代码行数:5,代码来源:test_cookies.py

示例14: create_response

def create_response(headers, body, status):
    headerlist = [(native_(k), native_(v))
                  for k, v in headers.items()]
    return Response(body=body, status=status, headerlist=headerlist,
                    charset='utf8')
开发者ID:lorenzogil,项目名称:yith-library-server,代码行数:5,代码来源:utils.py

示例15: test_fget_nonascii

 def test_fget_nonascii(self):
     desc = self._callFUT('HTTP_X_AKEY', encattr='url_encoding')
     req = self._makeRequest()
     req.environ['HTTP_X_AKEY'] = native_(b'\xc3\xab')
     result = desc.fget(req)
     assert result == text_(b'\xc3\xab', 'utf-8')
开发者ID:SmartTeleMax,项目名称:webob,代码行数:6,代码来源:test_descriptors.py


注:本文中的webob.compat.native_函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。