See also file_receiver.py in this directory, a server that receives uploads.
"""
-from __future__ import print_function
import mimetypes
import os
import sys
#!/usr/bin/env python
-from __future__ import print_function
from tornado.ioloop import IOLoop
from tornado import gen
from tornado.tcpclient import TCPClient
increases memory footprint and CPU overhead, so we try to eliminate
circular references created by normal operation.
"""
-from __future__ import print_function
import gc
import traceback
#!/usr/bin/env python
-from __future__ import print_function
-
import pprint
import socket
To run under cygwin (which must be installed separately), run
cd /cygdrive/e; python -m tornado.test.runtests
"""
-from __future__ import absolute_import, division, print_function
import os
import subprocess
"""The Tornado web server and tools."""
-from __future__ import absolute_import, division, print_function
-
# version is a human-readable version number.
# version_info is a four-tuple for programmatic comparison. The first
"""Data used by the tornado.locale module."""
-from __future__ import absolute_import, division, print_function
-
LOCALE_NAMES = {
"af_ZA": {"name_en": u"Afrikaans", "name": u"Afrikaans"},
"am_ET": {"name_en": u"Amharic", "name": u"አማáˆáŠ›"},
"""
-from __future__ import absolute_import, division, print_function
-
import base64
import binascii
import hashlib
"""
-from __future__ import absolute_import, division, print_function
-
import os
import sys
implementation, applications rarely need to interact with it
directly.
"""
-from __future__ import absolute_import, division, print_function
import asyncio
from concurrent import futures
"""Non-blocking HTTP client implementation using pycurl."""
-from __future__ import absolute_import, division, print_function
-
import collections
import functools
import logging
have crept in over time.
"""
-from __future__ import absolute_import, division, print_function
-
import html.entities
import json
import re
via ``singledispatch``.
"""
-from __future__ import absolute_import, division, print_function
-
import asyncio
import builtins
import collections
.. versionadded:: 4.0
"""
-from __future__ import absolute_import, division, print_function
-
import re
from tornado.concurrent import (Future, future_add_done_callback,
AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient")
"""
-from __future__ import absolute_import, division, print_function
-
import functools
import time
import weakref
to `tornado.httputil.HTTPServerRequest`. The old name remains as an alias.
"""
-from __future__ import absolute_import, division, print_function
-
import socket
from tornado.escape import native_str
via `tornado.web.RequestHandler.request`.
"""
-from __future__ import absolute_import, division, print_function
-
import calendar
import collections
import copy
"""
-from __future__ import absolute_import, division, print_function
-
import asyncio
from concurrent.futures import ThreadPoolExecutor
import datetime
* `PipeIOStream`: Pipe-based IOStream implementation.
"""
-from __future__ import absolute_import, division, print_function
-
import collections
import errno
import io
the `Locale.translate` method will simply return the original string.
"""
-from __future__ import absolute_import, division, print_function
-
import codecs
import csv
import datetime
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import absolute_import, division, print_function
-
import collections
from concurrent.futures import CancelledError
`logging` module. For example, you may wish to send ``tornado.access`` logs
to a separate file for analysis.
"""
-from __future__ import absolute_import, division, print_function
-
import logging
import logging.handlers
import sys
"""Miscellaneous network utility code."""
-from __future__ import absolute_import, division, print_function
-
import errno
import os
import sys
underscores.
"""
-from __future__ import absolute_import, division, print_function
-
import datetime
import numbers
import re
Windows. Use the `~asyncio.SelectorEventLoop` instead.
"""
-from __future__ import absolute_import, division, print_function
import functools
from tornado.gen import convert_yielded
from tornado.platform.auto import set_close_exec
"""
-from __future__ import absolute_import, division, print_function
-
import os
if os.name == 'nt':
-from __future__ import absolute_import, division, print_function
import pycares # type: ignore
import socket
implementation from `tornado.platform.auto`.
"""
-from __future__ import absolute_import, division, print_function
-
def set_close_exec(fd):
"""Sets the close-on-exec bit (``FD_CLOEXEC``)for a file descriptor."""
"""Posix implementations of platform-specific functionality."""
-from __future__ import absolute_import, division, print_function
-
import fcntl
import os
This module has been tested with Twisted versions 11.0.0 and newer.
"""
-from __future__ import absolute_import, division, print_function
-
import socket
import sys
# NOTE: win32 support is currently experimental, and not recommended
# for production use.
-
-from __future__ import absolute_import, division, print_function
import ctypes # type: ignore
import ctypes.wintypes # type: ignore
the server into multiple processes and managing subprocesses.
"""
-from __future__ import absolute_import, division, print_function
-
import errno
import os
import multiprocessing
"""
-from __future__ import absolute_import, division, print_function
-
import collections
import heapq
"""
-from __future__ import absolute_import, division, print_function
-
import re
from functools import partial
-from __future__ import absolute_import, division, print_function
-
from tornado.escape import _unicode
from tornado import gen
from tornado.httpclient import HTTPResponse, HTTPError, AsyncHTTPClient, main, _RequestProxy
"""A non-blocking TCP connection factory.
"""
-from __future__ import absolute_import, division, print_function
import functools
import socket
# under the License.
"""A non-blocking, single-threaded TCP server."""
-from __future__ import absolute_import, division, print_function
import errno
import os
`filter_whitespace` for available options. New in Tornado 4.3.
"""
-from __future__ import absolute_import, division, print_function
-
import datetime
from io import StringIO
import linecache
This only works in python 2.7+.
"""
-from __future__ import absolute_import, division, print_function
-
from tornado.test.runtests import all, main
# tornado.testing.main autodiscovery relies on 'all' being present in
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import absolute_import, division, print_function
-
import asyncio
import unittest
# and ensure that it doesn't blow up (e.g. with unicode/bytes issues in
# python 3)
-
-from __future__ import absolute_import, division, print_function
-
from tornado.auth import (
OpenIdMixin, OAuthMixin, OAuth2Mixin,
GoogleOAuth2Mixin, FacebookGraphMixin, TwitterMixin,
-from __future__ import absolute_import, division, print_function
import os
import shutil
import subprocess
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import absolute_import, division, print_function
-
from concurrent import futures
import logging
import re
# coding: utf-8
-from __future__ import absolute_import, division, print_function
-
from hashlib import md5
import unittest
-from __future__ import absolute_import, division, print_function
-
import unittest
import tornado.escape
-from __future__ import absolute_import, division, print_function
-
import asyncio
from concurrent import futures
import gc
# 3) msgfmt tornado_test.po -o tornado_test.mo
# 4) Put the file in the proper location: $LANG/LC_MESSAGES
-from __future__ import absolute_import, division, print_function
_("school")
pgettext("law", "right")
pgettext("good", "right")
-from __future__ import absolute_import, division, print_function
-
import socket
from tornado.http1connection import HTTP1Connection
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, division, print_function
-
import base64
import binascii
from contextlib import closing
-from __future__ import absolute_import, division, print_function
-
from tornado import gen, netutil
from tornado.concurrent import Future
from tornado.escape import json_decode, json_encode, utf8, _unicode, recursive_unicode, native_str
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, division, print_function
-
from tornado.httputil import (
url_concat, parse_multipart_form_data, HTTPHeaders, format_timestamp,
HTTPServerRequest, parse_request_start_line, parse_cookie, qs_to_qsl,
# flake8: noqa
-from __future__ import absolute_import, division, print_function
-
import subprocess
import sys
import unittest
-from __future__ import absolute_import, division, print_function
-
from concurrent.futures import ThreadPoolExecutor
from concurrent import futures
import contextlib
-from __future__ import absolute_import, division, print_function
from tornado.concurrent import Future
from tornado import gen
from tornado import netutil
-from __future__ import absolute_import, division, print_function
-
import datetime
import os
import shutil
# License for the specific language governing permissions and limitations
# under the License.
-
-from __future__ import absolute_import, division, print_function
from datetime import timedelta
import unittest
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
-from __future__ import absolute_import, division, print_function
-
import contextlib
import glob
import logging
-from __future__ import absolute_import, division, print_function
-
import errno
import os
import signal
# -*- coding: utf-8 -*-
-from __future__ import absolute_import, division, print_function
-
import datetime
from io import StringIO
import os
-from __future__ import absolute_import, division, print_function
-
import asyncio
import logging
import os
# License for the specific language governing permissions and limitations
# under the License.
-
-from __future__ import absolute_import, division, print_function
from datetime import timedelta
from random import random
import unittest
-from __future__ import absolute_import, division, print_function
from tornado.ioloop import IOLoop
from tornado.netutil import ThreadedResolver
# License for the specific language governing permissions and limitations
# under the License.
-
-from __future__ import absolute_import, division, print_function
-
from tornado.httputil import HTTPHeaders, HTTPMessageDelegate, HTTPServerConnectionDelegate, ResponseStartLine # noqa: E501
from tornado.routing import HostMatches, PathMatches, ReversibleRouter, Router, Rule, RuleRouter
from tornado.testing import AsyncHTTPTestCase
-from __future__ import absolute_import, division, print_function
-
from functools import reduce
import gc
import io
-from __future__ import absolute_import, division, print_function
-
import collections
from contextlib import closing
import errno
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
-
-from __future__ import absolute_import, division, print_function
-
from contextlib import closing
import os
import socket
-from __future__ import absolute_import, division, print_function
-
import socket
import subprocess
import sys
# As a sanity check, run the single-process version through this test
# harness too.
code = textwrap.dedent("""
- from __future__ import print_function
from tornado.ioloop import IOLoop
from tornado.tcpserver import TCPServer
def test_simple(self):
code = textwrap.dedent("""
- from __future__ import print_function
from tornado.ioloop import IOLoop
from tornado.process import task_id
from tornado.tcpserver import TCPServer
def test_advanced(self):
code = textwrap.dedent("""
- from __future__ import print_function
from tornado.ioloop import IOLoop
from tornado.netutil import bind_sockets
from tornado.process import fork_processes, task_id
-from __future__ import absolute_import, division, print_function
-
import os
-import sys
import traceback
import unittest
except ParseError:
pass
- @unittest.skipIf(sys.version_info >= division.getMandatoryRelease(),
- 'no testable future imports')
+ @unittest.skip('no testable future imports')
def test_no_inherit_future(self):
+ # TODO(bdarnell): make a test like this for one of the future
+ # imports available in python 3. Unfortunately they're harder
+ # to use in a template than division was.
+
# This file has from __future__ import division...
self.assertEqual(1 / 2, 0.5)
# ...but the template doesn't
-from __future__ import absolute_import, division, print_function
-
from tornado import gen, ioloop
from tornado.httpserver import HTTPServer
from tornado.testing import AsyncHTTPTestCase, AsyncTestCase, bind_unused_port, gen_test
Unittest for the twisted-style reactor.
"""
-from __future__ import absolute_import, division, print_function
-
import logging
import signal
import unittest
-from __future__ import absolute_import, division, print_function
-
import contextlib
import os
import platform
# coding: utf-8
-from __future__ import absolute_import, division, print_function
from io import StringIO
import re
import sys
class ExecInTest(unittest.TestCase):
- # This test is python 2 only because there are no new future imports
- # defined in python 3 yet.
- @unittest.skipIf(sys.version_info >= print_function.getMandatoryRelease(),
- 'no testable future imports')
+ # TODO(bdarnell): make a version of this test for one of the new
+ # future imports available in python 3.
+ @unittest.skip('no testable future imports')
def test_no_inherit_future(self):
# This file has from __future__ import print_function...
f = StringIO()
-from __future__ import absolute_import, division, print_function
-
from tornado.concurrent import Future
from tornado import gen
from tornado.escape import json_decode, utf8, to_unicode, recursive_unicode, native_str, to_basestring # noqa: E501
-from __future__ import absolute_import, division, print_function
-
import functools
import traceback
import unittest
-from __future__ import absolute_import, division, print_function
import functools
import os
import socket
-from __future__ import absolute_import, division, print_function
from wsgiref.validate import validator
from tornado.testing import AsyncHTTPTestCase
for the tornado.autoreload module to rerun the tests when code changes.
"""
-from __future__ import absolute_import, division, print_function
-
from collections.abc import Generator
import functools
import inspect
and `.Resolver`.
"""
-from __future__ import absolute_import, division, print_function
-
import array
import atexit
from inspect import getfullargspec
"""
-from __future__ import absolute_import, division, print_function
-
import base64
import binascii
import datetime
Removed support for the draft 76 protocol version.
"""
-from __future__ import absolute_import, division, print_function
-
import base64
import hashlib
import os
"""
-from __future__ import absolute_import, division, print_function
-
import sys
from io import BytesIO
import tornado