當前位置: 首頁>>代碼示例>>Python>>正文


Python escape.to_unicode方法代碼示例

本文整理匯總了Python中tornado.escape.to_unicode方法的典型用法代碼示例。如果您正苦於以下問題:Python escape.to_unicode方法的具體用法?Python escape.to_unicode怎麽用?Python escape.to_unicode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在tornado.escape的用法示例。


在下文中一共展示了escape.to_unicode方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_streaming_follow_redirects

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_streaming_follow_redirects(self):
        # When following redirects, header and streaming callbacks
        # should only be called for the final result.
        # TODO(bdarnell): this test belongs in httpclient_test instead of
        # simple_httpclient_test, but it fails with the version of libcurl
        # available on travis-ci. Move it when that has been upgraded
        # or we have a better framework to skip tests based on curl version.
        headers = []
        chunks = []
        self.fetch("/redirect?url=/hello",
                   header_callback=headers.append,
                   streaming_callback=chunks.append)
        chunks = list(map(to_unicode, chunks))
        self.assertEqual(chunks, ['Hello world!'])
        # Make sure we only got one set of headers.
        num_start_lines = len([h for h in headers if h.startswith("HTTP/")])
        self.assertEqual(num_start_lines, 1) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:19,代碼來源:simple_httpclient_test.py

示例2: test_csv_bom

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_csv_bom(self):
        with open(os.path.join(os.path.dirname(__file__), 'csv_translations',
                               'fr_FR.csv'), 'rb') as f:
            char_data = to_unicode(f.read())
        # Re-encode our input data (which is utf-8 without BOM) in
        # encodings that use the BOM and ensure that we can still load
        # it. Note that utf-16-le and utf-16-be do not write a BOM,
        # so we only test whichver variant is native to our platform.
        for encoding in ['utf-8-sig', 'utf-16']:
            tmpdir = tempfile.mkdtemp()
            try:
                with open(os.path.join(tmpdir, 'fr_FR.csv'), 'wb') as f:
                    f.write(char_data.encode(encoding))
                tornado.locale.load_translations(tmpdir)
                locale = tornado.locale.get('fr_FR')
                self.assertIsInstance(locale, tornado.locale.CSVLocale)
                self.assertEqual(locale.translate("school"), u("\u00e9cole"))
            finally:
                shutil.rmtree(tmpdir) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:21,代碼來源:locale_test.py

示例3: test_streaming_follow_redirects

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_streaming_follow_redirects(self):
        # When following redirects, header and streaming callbacks
        # should only be called for the final result.
        # TODO(bdarnell): this test belongs in httpclient_test instead of
        # simple_httpclient_test, but it fails with the version of libcurl
        # available on travis-ci. Move it when that has been upgraded
        # or we have a better framework to skip tests based on curl version.
        headers = []  # type: typing.List[str]
        chunk_bytes = []  # type: typing.List[bytes]
        self.fetch(
            "/redirect?url=/hello",
            header_callback=headers.append,
            streaming_callback=chunk_bytes.append,
        )
        chunks = list(map(to_unicode, chunk_bytes))
        self.assertEqual(chunks, ["Hello world!"])
        # Make sure we only got one set of headers.
        num_start_lines = len([h for h in headers if h.startswith("HTTP/")])
        self.assertEqual(num_start_lines, 1) 
開發者ID:opendevops-cn,項目名稱:opendevops,代碼行數:21,代碼來源:simple_httpclient_test.py

示例4: test_method_after_redirect

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_method_after_redirect(self):
        # Legacy redirect codes (301, 302) convert POST requests to GET.
        for status in [301, 302, 303]:
            url = "/redirect?url=/all_methods&status=%d" % status
            resp = self.fetch(url, method="POST", body=b"")
            self.assertEqual(b"GET", resp.body)

            # Other methods are left alone.
            for method in ["GET", "OPTIONS", "PUT", "DELETE"]:
                resp = self.fetch(url, method=method, allow_nonstandard_methods=True)
                self.assertEqual(utf8(method), resp.body)
            # HEAD is different so check it separately.
            resp = self.fetch(url, method="HEAD")
            self.assertEqual(200, resp.code)
            self.assertEqual(b"", resp.body)

        # Newer redirects always preserve the original method.
        for status in [307, 308]:
            url = "/redirect?url=/all_methods&status=307"
            for method in ["GET", "OPTIONS", "POST", "PUT", "DELETE"]:
                resp = self.fetch(url, method=method, allow_nonstandard_methods=True)
                self.assertEqual(method, to_unicode(resp.body))
            resp = self.fetch(url, method="HEAD")
            self.assertEqual(200, resp.code)
            self.assertEqual(b"", resp.body) 
開發者ID:opendevops-cn,項目名稱:opendevops,代碼行數:27,代碼來源:httpclient_test.py

示例5: test_csv_bom

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_csv_bom(self):
        with open(
            os.path.join(os.path.dirname(__file__), "csv_translations", "fr_FR.csv"),
            "rb",
        ) as f:
            char_data = to_unicode(f.read())
        # Re-encode our input data (which is utf-8 without BOM) in
        # encodings that use the BOM and ensure that we can still load
        # it. Note that utf-16-le and utf-16-be do not write a BOM,
        # so we only test whichver variant is native to our platform.
        for encoding in ["utf-8-sig", "utf-16"]:
            tmpdir = tempfile.mkdtemp()
            try:
                with open(os.path.join(tmpdir, "fr_FR.csv"), "wb") as f:
                    f.write(char_data.encode(encoding))
                tornado.locale.load_translations(tmpdir)
                locale = tornado.locale.get("fr_FR")
                self.assertIsInstance(locale, tornado.locale.CSVLocale)
                self.assertEqual(locale.translate("school"), u"\u00e9cole")
            finally:
                shutil.rmtree(tmpdir) 
開發者ID:opendevops-cn,項目名稱:opendevops,代碼行數:23,代碼來源:locale_test.py

示例6: test_csv_bom

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_csv_bom(self):
        with open(os.path.join(os.path.dirname(__file__), 'csv_translations',
                               'fr_FR.csv'), 'rb') as f:
            char_data = to_unicode(f.read())
        # Re-encode our input data (which is utf-8 without BOM) in
        # encodings that use the BOM and ensure that we can still load
        # it. Note that utf-16-le and utf-16-be do not write a BOM,
        # so we only test whichver variant is native to our platform.
        for encoding in ['utf-8-sig', 'utf-16']:
            tmpdir = tempfile.mkdtemp()
            try:
                with open(os.path.join(tmpdir, 'fr_FR.csv'), 'wb') as f:
                    f.write(char_data.encode(encoding))
                tornado.locale.load_translations(tmpdir)
                locale = tornado.locale.get('fr_FR')
                self.assertIsInstance(locale, tornado.locale.CSVLocale)
                self.assertEqual(locale.translate("school"), u"\u00e9cole")
            finally:
                shutil.rmtree(tmpdir) 
開發者ID:tp4a,項目名稱:teleport,代碼行數:21,代碼來源:locale_test.py

示例7: _handle_message

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def _handle_message(self, opcode, data):
        if self.client_terminated:
            return

        if self._frame_compressed:
            data = self._decompressor.decompress(data)

        if opcode == 0x1:
            # UTF-8 data
            self._message_bytes_in += len(data)
            try:
                decoded = data.decode("utf-8")
            except UnicodeDecodeError:
                self._abort()
                return
            self._run_callback(self.handler.on_message, decoded)
        elif opcode == 0x2:
            # Binary data
            self._message_bytes_in += len(data)
            self._run_callback(self.handler.on_message, data)
        elif opcode == 0x8:
            # Close
            self.client_terminated = True
            if len(data) >= 2:
                self.handler.close_code = struct.unpack('>H', data[:2])[0]
            if len(data) > 2:
                self.handler.close_reason = to_unicode(data[2:])
            # Echo the received close code, if any (RFC 6455 section 5.5.1).
            self.close(self.handler.close_code)
        elif opcode == 0x9:
            # Ping
            self._write_frame(True, 0xA, data)
        elif opcode == 0xA:
            # Pong
            self._run_callback(self.handler.on_pong, data)
        else:
            self._abort() 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:39,代碼來源:websocket.py

示例8: test_unicode_apply

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_unicode_apply(self):
        def upper(s):
            return to_unicode(s).upper()
        template = Template(utf8(u("{% apply upper %}foo \u00e9{% end %}")))
        self.assertEqual(template.generate(upper=upper), utf8(u("FOO \u00c9"))) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:7,代碼來源:template_test.py

示例9: test_bytes_apply

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_bytes_apply(self):
        def upper(s):
            return utf8(to_unicode(s).upper())
        template = Template(utf8(u("{% apply upper %}foo \u00e9{% end %}")))
        self.assertEqual(template.generate(upper=upper), utf8(u("FOO \u00c9"))) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:7,代碼來源:template_test.py

示例10: test_utf8_in_file

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_utf8_in_file(self):
        tmpl = self.loader.load("utf8.html")
        result = tmpl.generate()
        self.assertEqual(to_unicode(result).strip(), u("H\u00e9llo")) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:6,代碼來源:template_test.py

示例11: test_types

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_types(self):
        cookie_value = to_unicode(create_signed_value(self.COOKIE_SECRET,
                                                      "asdf", "qwer"))
        response = self.fetch("/typecheck/asdf?foo=bar",
                              headers={"Cookie": "asdf=" + cookie_value})
        data = json_decode(response.body)
        self.assertEqual(data, {})

        response = self.fetch("/typecheck/asdf?foo=bar", method="POST",
                              headers={"Cookie": "asdf=" + cookie_value},
                              body="foo=bar") 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:13,代碼來源:web_test.py

示例12: test_url_unescape_unicode

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def test_url_unescape_unicode(self):
        tests = [
            ('%C3%A9', u('\u00e9'), 'utf8'),
            ('%C3%A9', u('\u00c3\u00a9'), 'latin1'),
            ('%C3%A9', utf8(u('\u00e9')), None),
        ]
        for escaped, unescaped, encoding in tests:
            # input strings to url_unescape should only contain ascii
            # characters, but make sure the function accepts both byte
            # and unicode strings.
            self.assertEqual(url_unescape(to_unicode(escaped), encoding), unescaped)
            self.assertEqual(url_unescape(utf8(escaped), encoding), unescaped) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:14,代碼來源:escape_test.py

示例13: handle_read

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def handle_read(self, data):
        logging.info("handle_read")
        data = to_unicode(data)
        if data == data.upper():
            self.stream.write(b"error\talready capitalized\n")
        else:
            # data already has \n
            self.stream.write(utf8("ok\t%s" % data.upper()))
        self.stream.close() 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:11,代碼來源:concurrent_test.py

示例14: process_response

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def process_response(self, data):
        status, message = re.match('(.*)\t(.*)\n', to_unicode(data)).groups()
        if status == 'ok':
            return message
        else:
            raise CapError(message) 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:8,代碼來源:concurrent_test.py

示例15: decode_argument

# 需要導入模塊: from tornado import escape [as 別名]
# 或者: from tornado.escape import to_unicode [as 別名]
def decode_argument(self, value, name=None):
        if type(value) != bytes:
            raise Exception("unexpected type for value: %r" % type(value))
        # use self.request.arguments directly to avoid recursion
        if 'encoding' in self.request.arguments:
            return value.decode(to_unicode(self.request.arguments['encoding'][0]))
        else:
            return value 
開發者ID:tao12345666333,項目名稱:tornado-zh,代碼行數:10,代碼來源:web_test.py


注:本文中的tornado.escape.to_unicode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。