tornado.util
— 汎用ユーティリティ¶
その他のユーティリティ関数とクラス。
このモジュールはTornado内部で使用されます。ここで定義された関数とクラスが他のアプリケーションに役立つとは限りませんが、念のためドキュメント化されています。
このモジュールの一般公開されている部分は、Configurable
クラスと、configure
メソッドです。これは、AsyncHTTPClient
、IOLoop
、Resolver
を含む、サブクラスのインターフェースの一部となります。
- class tornado.util.TimeoutError[ソース]¶
gen.with_timeout
およびIOLoop.run_sync
によって発生する例外。バージョン 5.0 で変更:
tornado.gen.TimeoutError
およびtornado.ioloop.TimeoutError
がtornado.util.TimeoutError
として統合されました。以前の名前は両方ともエイリアスとして残っています。バージョン 6.2 で変更:
tornado.util.TimeoutError
はasyncio.TimeoutError
のエイリアスです
- class tornado.util.GzipDecompressor[ソース]¶
ストリーミングgzipデコンプレッサー。
インターフェースは
zlib.decompressobj
(一部のオプションの引数を除いて) と同様ですが、gzipヘッダーとチェックサムを理解します。
- tornado.util.import_object(name: str) Any [ソース]¶
名前でオブジェクトをインポートします。
import_object('x')
はimport x
と同等です。import_object('x.y.z')
はfrom x.y import z
と同等です。>>> import tornado.escape >>> import_object('tornado.escape') is tornado.escape True >>> import_object('tornado.escape.utf8') is tornado.escape.utf8 True >>> import_object('tornado') is tornado True >>> import_object('tornado.missing_module') Traceback (most recent call last): ... ImportError: No module named missing_module
- tornado.util.errno_from_exception(e: BaseException) Optional[int] [ソース]¶
Exceptionオブジェクトからerrnoを提供します。
errno属性が設定されていない場合があるため、argsからerrnoを取得しますが、引数なしでExceptionをインスタンス化すると、タプルエラーが発生します。したがって、この関数は、errnoを安全に取得できるように、そのすべての動作を抽象化します。
- tornado.util.re_unescape(s: str) str [ソース]¶
re.escape
によってエスケープされた文字列をアンエスケープします。re.escape
によって生成されなかった正規表現 (たとえば、\d
を含む文字列はアンエスケープできません) の場合、ValueError
が発生する可能性があります。バージョン 4.4 で追加。
- class tornado.util.Configurable(*args: Any, **kwargs: Any)[ソース]¶
設定可能なインターフェースの基本クラス。
設定可能なインターフェースとは、(抽象)クラスであり、そのコンストラクタが実装サブクラスの1つのファクトリー関数として機能するものです。実装サブクラスと、そのイニシャライザへのオプションのキーワード引数は、実行時に
configure
でグローバルに設定できます。コンストラクタをファクトリーメソッドとして使用することで、インターフェースは通常のクラスのように見え、
isinstance
は通常どおり機能します。このパターンは、実装の選択がグローバルな決定になる可能性が高い場合(例えば、epoll
が利用可能な場合、常にselect
の代わりに使用する場合)、または以前はモノリシックだったクラスが特殊なサブクラスに分割された場合に最も役立ちます。設定可能なサブクラスは、クラスメソッド
configurable_base
とconfigurable_default
を定義し、インスタンスメソッドinitialize
を__init__
の代わりに使用する必要があります。バージョン 5.0 で変更: クラス階層の複数のレベルで設定を指定できるようになりました。
- classmethod configurable_base() Type[Configurable] [ソース]¶
設定可能な階層のベースクラスを返します。
これは通常、それが定義されているクラスを返します(これは、
cls
クラスメソッドパラメータと同じであるとは限りません)。
- classmethod configurable_default() Type[Configurable] [ソース]¶
設定されていない場合に使用される実装クラスを返します。
- initialize() None ¶
Configurable
サブクラスのインスタンスを初期化します。設定可能なクラスは、
__init__
の代わりにinitialize
を使用する必要があります。バージョン 4.2 で変更: キーワード引数に加えて、位置引数を受け入れるようになりました。
- classmethod configure(impl: Union[None, str, Type[Configurable]], **kwargs: Any) None [ソース]¶
ベースクラスがインスタンス化されるときに使用するクラスを設定します。
キーワード引数は保存され、コンストラクタに渡される引数に追加されます。これは、一部のパラメータのグローバルデフォルトを設定するために使用できます。
- classmethod configured_class() Type[Configurable] [ソース]¶
現在設定されているクラスを返します。
- class tornado.util.ArgReplacer(func: Callable, name: str)[ソース]¶
args, kwargs
ペアの1つの値を置き換えます。関数シグネチャを調べ、位置またはキーワードのどちらで渡されたかに関係なく、名前で引数を見つけます。デコレータや同様のラッパーで使用します。
- get_old_value(args: Sequence[Any], kwargs: Dict[str, Any], default: Optional[Any] = None) Any [ソース]¶
名前付き引数の古い値を、置き換えることなく返します。
引数が存在しない場合は、
default
を返します。
- replace(new_value: Any, args: Sequence[Any], kwargs: Dict[str, Any]) Tuple[Any, Sequence[Any], Dict[str, Any]] [ソース]¶
args, kwargs
内の名前付き引数をnew_value
で置き換えます。(old_value, args, kwargs)
を返します。返されるargs
およびkwargs
オブジェクトは、入力オブジェクトと同じではない場合や、入力オブジェクトが変更されている場合があります。名前付き引数が見つからなかった場合、
new_value
はkwargs
に追加され、old_value
として None が返されます。
- tornado.util.timedelta_to_seconds(td: datetime.timedelta) float [ソース]¶
td.total_seconds()
と同等です (Python 2.7 で導入)。