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 で導入)。