webcface package

Submodules

Module contents

class webcface.Arg(name: str = '', type: int | type = ValType.NONE, min: SupportsFloat | None = None, max: SupportsFloat | None = None, init: SupportsFloat | bool | str | None = None, option: List[SupportsFloat | str] = [])[source]

Bases: object

property init: float | bool | str | None
property max: float | None
merge_config(a: Arg) Arg[source]
property min: float | None
property name: str
property option: List[float | str]
property type: int
class webcface.CallHandle(data: PromiseData)[source]

Bases: object

property args: List[float | bool | str]
assert_args_num(expected: int) bool[source]
reject(reason: str) None[source]
respond(result: float | bool | str = '') None[source]
class webcface.Client(name: str = '', host: str = '127.0.0.1', port: int = 7530, auto_reconnect: bool = True, auto_sync: float | None = None)[source]

Bases: Member

サーバーに接続する

詳細は Clientのドキュメント を参照

Parameters:
  • name – 名前

  • host – サーバーのアドレス

  • port – サーバーのポート

  • auto_reconnect – (ver2.0〜) 通信が切断された時に自動で再接続する。(デフォルト: True)

  • auto_sync – (ver2.1〜) 指定した間隔(秒)ごとに別スレッドで自動的に sync() をする (デフォルト: None (syncしない))

close() None[source]

接続を切る

  • ver1.1.1〜 キューにたまっているデータがすべて送信されるまで待機

  • ver1.1.2〜 サーバーへの接続に失敗した場合は待機しない

property connected: bool

サーバーに接続できていればtrue

ver2.0からプロパティ

property logging_handler: Handler

webcfaceに出力するloggingのHandler

(ver2.1〜: Log名は “default”, log().handler と同じ)

Returns:

logger.addHandler にセットして使う

property logging_io: TextIOBase

webcfaceとstderrに出力するio

(ver2.1〜: Log名は “default”, log().io と同じ)

member(member_name: str) Member[source]

他のメンバーにアクセスする

members() Iterable[Member][source]

サーバーに接続されている他のmemberをすべて取得する。

自分自身と、無名のmemberを除く。

on_member_entry(func: Callable) Callable[source]

Memberが追加されたときのイベント

コールバックの引数にはMemberオブジェクトが渡される。

ver2.0〜: * 呼び出したいコールバック関数をfuncとして client.on_member_entry(func) などとすれば関数を登録できる。 * または @client.on_member_entry をデコレーターとして使う。

property server_hostname: str

サーバーのホスト名 (ver2.0〜)

property server_name: str

サーバーの識別情報

Returns:

通常は”webcface”が返る

property server_version: str

サーバーのバージョン

start() None[source]

サーバーに接続を開始する

sync(timeout: float | None = 0, auto_start: bool = True) None[source]

送信用にセットしたデータをすべて送信キューに入れ、受信したデータを処理する

  • 実際に送信をするのは別スレッドであり、この関数はブロックしない。

  • サーバーに接続していない場合、start()を呼び出す。

  • ver2.0〜: 受信したデータがあれば各種コールバックをこのスレッドで呼び出し、

それがすべて完了するまでこの関数はブロックされる。 * ver2.0〜: timeoutが正の場合、データを受信してもしなくても timeout 経過するまでは繰り返しsync()を再試行する。 timeout=0 または負の値なら再試行せず即座にreturnする。 (デフォルト、ver1.1までのsync()と同じ) * timeout がNoneの場合、close()するまで無制限に待機する。 * autoReconnectがfalseでサーバーに接続できてない場合はreturnする。 (deadlock回避)

Parameters:
  • timeout – (ver2.0〜) sync()を再試行するタイムアウト (秒単位の実数、またはNone)

  • auto_start – (ver2.1〜)

wait_connection() None[source]

サーバーに接続が成功するまで待機する。

接続していない場合、start()を呼び出す。

class webcface.Func(base: Field | None, field: str = '', return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False)[source]

Bases: Field

property args: List[Arg]

引数の情報を返す

exists() bool[source]

このFuncの情報が存在すればtrue (ver2.0〜)

free() Func[source]

関数の設定を削除

property member: Member

Memberを返す

property name: str

field名を返す

property return_type: int

戻り値の型を返す

ValTypeのEnumを使う

run(*args) float | bool | str[source]

関数を実行する (同期)

  • selfの関数の場合、このスレッドで直接実行する

例外が発生した場合そのままraise, 関数が存在しない場合 FuncNotFoundError をraiseする * リモートの場合、関数呼び出しを送信し結果が返ってくるまで待機 例外が発生した場合 RuntimeError, 関数が存在しない場合 FuncNotFoundError をthrowする * (ver2.0〜) Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。

run_async(*args) Promise[source]

関数を実行する (非同期)

  • 戻り値やエラー、例外はPromiseから取得する

set(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func[source]

関数からFuncInfoを構築しセットする

  • 関数にアノテーションがついている場合はreturn_typeとargs内のtypeは不要

  • (ver2.0〜) set()でセットした関数は Client.sync() のスレッドでそのまま呼び出され、

この関数が完了するまで他のデータの受信はブロックされる。

Parameters:
  • func – 登録したい関数

  • return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)

  • args – 関数の引数の情報

  • handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、

引数に CallHandle が渡されるようになる

set_async(func: Callable, return_type: int | type | None = None, args: List[Arg] | None = None, handle: bool = False) Func[source]

関数からFuncInfoを構築しセットする (ver2.0〜)

  • setAsync()でセットした場合、他クライアントから呼び出されたとき新しいスレッドを建てて実行される。

Parameters:
  • func – 登録したい関数

  • return_type – 関数の戻り値 (ValTypeのEnumまたはtypeクラス)

  • args – 関数の引数の情報

  • handle – (ver2.2〜) これをTrueにするか引数型のアノテーションでCallHandle型が指定されている場合、

引数に CallHandle が渡されるようになる

class webcface.FuncListener(base: Field | None, field: str = '')[source]

Bases: Field

fetch_call() CallHandle | None[source]

関数が呼び出されていればhandleを返す

listen(return_type: int | type | None = None, args: List[Arg] | None = None) FuncListener[source]

関数呼び出しの待ち受けを開始する

property member: Member

Memberを返す

property name: str

field名を返す

class webcface.Geometry(geometry_type: int, properties: Sequence[SupportsFloat])[source]

Bases: object

property as_box: Box
property as_circle: Circle
property as_cylinder: Cylinder
property as_line: Line
property as_plane: Plane
property as_polygon: Polygon
property as_rect: Plane
property as_sphere: Sphere
property type: int
class webcface.GeometryType(value)[source]

Bases: IntEnum

An enumeration.

BOX = 3
CIRCLE = 4
CYLINDER = 5
LINE = 1
NONE = 0
PLANE = 2
POLYGON = 7
RECT = 2
SPHERE = 6
class webcface.Image(base: Field, field: str = '')[source]

Bases: Field

child(field: str) Image[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするImage

exists() bool[source]

このフィールドにデータが存在すればtrue

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() ImageFrame[source]

画像を返す、まだリクエストされてなければ自動でリクエストされる

property member: Member

Memberを返す

property name: str

field名を返す

on_change(func: Callable) Callable[source]

値が変化したときのイベント

コールバックの引数にはImageオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request(width: int | None = None, height: int | None = None, color_mode: int | None = None, compress_mode: int | None = None, quality: int | None = None, frame_rate: int | None = None) None[source]

画像の受信をリクエストする

Parameters:
  • width – 画像の幅

  • height – 画像の高さ width, height のどちらかのみがNoneの場合縦横比を保ってリサイズし、 どちらもNoneの場合は元画像のサイズになる

  • color_mode – 画像の色フォーマット (Noneの場合元画像のフォーマット)

  • cmp_mode – 圧縮モード

  • quality – 圧縮のパラメータ * jpeg → 0〜100 (大きいほうが高品質) * png → 0〜9 (大きいほうが圧縮後のサイズが小さい) * webp → 1〜100 (大きいほうが高品質)

  • frame_rate – 画像を受信する頻度 (指定しない場合元画像が更新されるたびに受信する)

set(data: ImageFrame) Image[source]

画像をセットする

try_get() ImageFrame | None[source]

画像を返す、まだリクエストされてなければ自動でリクエストされる

class webcface.ImageColorMode(value)[source]

Bases: IntEnum

An enumeration.

BGR = 1
BGRA = 2
GRAY = 0
RGB = 3
RGBA = 4
class webcface.ImageCompressMode(value)[source]

Bases: IntEnum

An enumeration.

JPEG = 1
PNG = 3
RAW = 0
WEBP = 2
class webcface.ImageFrame(width: int, height: int, data: bytes, color_mode: int, compress_mode: int)[source]

Bases: object

画像データ (ver2.4〜)

  • 8bitのグレースケール, BGR, BGRAフォーマットのみを扱う

  • 画像受信時にはjpegやpngなどにエンコードされたデータが入ることもある

property channels: int

1ピクセルあたりのデータサイズ(byte数)

property color_mode: int

色の並び順

compress_modeがRAWでない場合意味をなさない。

ImageColorMode のenumを参照

property compress_mode: int

画像の圧縮モード

ImageCompressMode のenumを参照

property data: bytes

画像データ

compress_modeがRAWの場合、height * width * channels 要素の画像データ。 それ以外の場合、圧縮された画像のデータ

empty() bool[source]

画像が空かどうかを返す

static from_numpy(img: ndarray, color_mode: int) ImageFrame[source]

numpy配列からImageFrameを作成する

color_mode がGRAYの場合 (height, width) または (height, width, 1), color_mode がBGR,RGBの場合 (height, width, 3), color_mode がBGRA,RGBAの場合 (height, width, 4) のuint8配列のみが使用可能

property height: int

画像の高さ

numpy() ndarray[source]

numpy配列に変換する

color_mode がGRAYの場合 (height, width, 1), color_mode がBGR,RGBの場合 (height, width, 3), color_mode がBGRA,RGBAの場合 (height, width, 4) のuint8配列を返す

compress_mode がRAWでない場合はエラー

property width: int

画像の幅

class webcface.InputRef[source]

Bases: object

get() float | bool | str[source]

値を返す

class webcface.Log(base: Field, field: str = '')[source]

Bases: Field

append(level: int, message: str, time: datetime = datetime.datetime(2024, 12, 16, 10, 44, 22, 248957)) None[source]

ログをwebcfaceに送信する (ver2.0〜)

コンソールなどには出力されない

clear() Log[source]

受信したログを空にする

リクエスト状態はクリアしない

exists() bool[source]

このメンバーがログを1行以上出力していればtrue (ver2.0〜)

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() List[LogLine][source]

ログをlistで返す、まだリクエストされてなければ自動でリクエストされる

property handler: Handler

webcfaceに出力するloggingのHandler (ver2.1〜)

Returns:

logger.addHandler にセットして使う

property io: TextIOBase

webcfaceとstderrに出力するio (ver2.1〜)

keep_lines: int = 1000
property member: Member

Memberを返す

property name: str

field名を返す(ver2.1〜)

on_change(func: Callable) Callable[source]

logが追加されたときのイベント (ver2.0〜)

コールバックの引数にはLogオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request() None[source]

値の受信をリクエストする

try_get() List[LogLine] | None[source]

ログをlistまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

class webcface.Member(base: Field, member: str = '')[source]

Bases: Field

canvas2d(field: str, width: SupportsFloat | None = None, height: SupportsFloat | None = None) Canvas2D[source]

Canvas2Dオブジェクトを生成

Parameters:

height (width,) – Canvas2Dのサイズを指定して初期化する

canvas2d_entries() Iterable[Canvas2D][source]

このメンバーのCanvas2Dをすべて取得する。

canvas3d(field: str) Canvas3D[source]

Canvas3Dオブジェクトを生成

canvas3d_entries() Iterable[Canvas3D][source]

このメンバーのCanvas3Dをすべて取得する。

func(arg: str = '', **kwargs) Func[source]

Funcオブジェクトを生成

  1. member.func(arg: str)
    • 指定した名前のFuncオブジェクトを生成・参照する。

  2. @member.func(arg: str, [**kwargs])
    • デコレータとして使い、デコレートした関数を指定した名前でセットする。

    • デコレート後、関数は元のまま返す。

  3. @member.func([**kwargs])
    • 3と同じだが、名前はデコレートした関数から自動で取得される。

  4. member.func(arg: Callable, [**kwargs])
    • これはver2.0で削除。

2, 3 の場合のkwargsは Func.set() を参照。

func_entries() Iterable[Func][source]

このメンバーのFuncをすべて取得する。

func_listener(field: str) FuncListener[source]

FuncListenerオブジェクトを生成 (ver2.2〜)

funcs() Iterable[Func][source]

このメンバーのFuncをすべて取得する。

Deprecated since version 1.1.

image(field: str) Image[source]

Imageオブジェクトを生成

image_entries() Iterable[Image][source]

このメンバーのImageをすべて取得する。

property lib_name: str

このMemberが使っているWebCFaceライブラリの識別情報

c++クライアントライブラリは”cpp”, javascriptクライアントは”js”, pythonクライアントは”python”を返す。

property lib_version: str

このMemberが使っているWebCFaceのバージョン

log(field: str = 'default') Log[source]

Logオブジェクトを生成

Parameters:

field – (ver2.1〜) Logの名前を指定可能(省略すると”default”)

log_entries() Iterable[Log][source]

このメンバーのLogをすべて取得する。(ver2.1〜)

property name: str

Member名

on_canvas2d_entry(func: Callable) Callable[source]

Canvas2Dが追加されたときのイベント

コールバックの引数にはCanvas2Dオブジェクトが渡される。

on_canvas3d_entry(func: Callable) Callable[source]

Canvas3Dが追加されたときのイベント

コールバックの引数にはCanvas3Dオブジェクトが渡される。

on_func_entry(func: Callable) Callable[source]

Funcが追加されたときのイベント

コールバックの引数にはFuncオブジェクトが渡される。

on_image_entry(func: Callable) Callable[source]

Textが追加されたときのイベント

コールバックの引数にはTextオブジェクトが渡される。

on_log_entry(func: Callable) Callable[source]

Logが追加されたときのイベント(ver2.1〜)

コールバックの引数にはLogオブジェクトが渡される。

on_ping(func: Callable) Callable[source]

通信速度データが更新されたときのイベント

通信速度データをリクエストしていなければリクエストする

コールバックの引数にはMemberオブジェクトが渡される。

on_sync(func: Callable) Callable[source]

Memberがsyncしたときのイベント

コールバックの引数にはMemberオブジェクトが渡される。

on_text_entry(func: Callable) Callable[source]

Textが追加されたときのイベント

コールバックの引数にはTextオブジェクトが渡される。

on_value_entry(func: Callable) Callable[source]

Valueが追加されたときのイベント

コールバックの引数にはValueオブジェクトが渡される。

on_view_entry(func: Callable) Callable[source]

Viewが追加されたときのイベント

コールバックの引数にはViewオブジェクトが渡される。

property ping_status: int | None

通信速度を調べる

通信速度データをリクエストしていなければリクエストし、 sync()後通信速度が得られるようになる :return: データがなければ None, 受信していれば pingの往復時間 (ms)

property remote_addr: str

このMemberのIPアドレス

request_ping_status() None[source]

通信速度データをリクエストする (ver2.0〜)

property sync_time: datetime

memberが最後にsyncした時刻を返す

text(field: str) Text[source]

Textオブジェクトを生成

text_entries() Iterable[Text][source]

このメンバーのTextをすべて取得する。

texts() Iterable[Text][source]

このメンバーのTextをすべて取得する。

Deprecated since version 1.1.

value(field: str) Value[source]

Valueオブジェクトを生成

value_entries() Iterable[Value][source]

このメンバーのValueをすべて取得する。

values() Iterable[Value][source]

このメンバーのValueをすべて取得する。

Deprecated since version 1.1.

variant(field: str) Variant[source]

Variantオブジェクトを生成 (ver2.0〜)

view(field: str) View[source]

Viewオブジェクトを生成

view_entries() Iterable[View][source]

このメンバーのViewをすべて取得する。

views() Iterable[View][source]

このメンバーのViewをすべて取得する。

Deprecated since version 1.1.

class webcface.Point(pos: Sequence[SupportsFloat])[source]

Bases: object

3次元or2次元の座標

手動でコンストラクタを呼んでもいいが、 PointをうけとるAPIは基本的に Sequence[SupportsFloat] を受け付け、 内部でPointに変換される。

property pos: Tuple[float, float, float]

座標を返す

2次元の場合は pos[0:2] を使う

set_pos(pos: Sequence[SupportsFloat]) None[source]

座標をセット

Parameters:

pos – 座標

2次元の場合 [float, float], 3次元の場合 [float, float, float] など

class webcface.Promise(data: PromiseData)[source]

Bases: object

非同期で実行した関数の実行結果を表す。

ver2.0〜 AsyncFuncResultからPromiseに名前変更

property finished: bool

関数の実行が完了したかどうかを返す (ver2.0〜)

property found: bool

呼び出した関数がリモートに存在するか(=実行が開始されたか)を返す (ver2.0〜)

property is_error: bool

関数がエラーになったかどうかを返す (ver2.0〜)

property member: Member

関数のMember

property name: str

関数のfield名

on_finish(func: Callable) Promise[source]

関数の実行が完了したときに呼び出すコールバックを設定 (ver2.0〜)

  • コールバックの引数にはこのPromiseが渡される。

  • すでにfinishedがtrueの場合はこのスレッドで即座にcallbackが呼ばれる。

on_reach(func: Callable) Promise[source]

リモートに呼び出しメッセージが到達したときに呼び出すコールバックを設定 (ver2.0〜)

  • コールバックの引数にはこのPromiseが渡される。

  • すでにreachedがtrueの場合はこのスレッドで即座にcallbackが呼ばれる。

property reached: bool

関数呼び出しのメッセージが相手のクライアントに到達したらTrue (ver2.0〜)

property rejection: str

関数の実行がエラーになった場合そのエラーメッセージを返す (ver2.0〜)

property response: float | bool | str

関数の実行が完了した場合その戻り値を返す (ver2.0〜)

property result: float | bool | str

実行結果または例外

結果が返ってくるまで待機する。

Deprecated since version ver2.0.

property result_ready: bool

resultが取得可能であればTrue

Deprecated since version ver2.0: (finished と同じ)

property started: bool

関数が開始したらTrue, 存在しなければFalse

Falseの場合自動でresultにもFuncNotFoundErrorが入る

Deprecated since version ver2.0.

property started_ready: bool

startedが取得可能であればTrue

Deprecated since version ver2.0: (reached と同じ)

wait_finish(timeout: float | None = None) Promise[source]

関数の実行が完了するまで待機 (ver2.0〜)

  • finished がtrueになるまで待機する。

  • on_finished

にコールバックが設定されている場合そのコールバックの完了も待機する。 * Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。

Parameters:

timeout – 待機するタイムアウト (秒)

wait_reach(timeout: float | None = None) Promise[source]

リモートに呼び出しメッセージが到達するまで待機 (ver2.0〜)

  • reached がtrueになるまで待機する。

  • on_reached

にコールバックが設定されている場合そのコールバックの完了も待機する。 * Client.sync() を呼ぶのとは別のスレッドで使用することを想定している。 呼び出しが成功したかどうかの情報の受信は Client.sync() で行われるため、 この関数を使用して待機している間に Client.sync() が呼ばれていないとデッドロックしてしまうので注意。

Parameters:

timeout – 待機するタイムアウト (秒)

class webcface.Text(base: Field, field: str = '')[source]

Bases: Variant

child(field: str) Text[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするText

get() str[source]

文字列をstrで返す、まだリクエストされてなければ自動でリクエストされる

on_change(func: Callable) Callable[source]

値が変化したときのイベント (ver2.0〜)

コールバックの引数にはTextオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

try_get() str | None[source]

文字列をstrまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

class webcface.Transform(arg1: Point | Sequence[SupportsFloat] | Rotation, arg2: Rotation | SupportsFloat | None = None)[source]

Bases: object

3次元の座標と回転

内部ではx, y, zの座標とz-y-x系のオイラー角で保持している。

手動でコンストラクタを呼んでもいいが、 TransformをうけとるAPIは基本的にPointとRotationのタプルを受け付け、 内部でTransformに変換される。

平行移動のみの場合は translation() を使用する。 回転のみの場合はRotationだけ渡せば直接Transformに変換される

ver3.0〜 Pointを継承せず別のクラスとしての実装に変更

applied_to_point(other: Point | Sequence[SupportsFloat]) Point[source]

Point を回転+平行移動させた結果を返す

Parameters:

other – 変換する対象

applied_to_rotation(other: Rotation) Transform[source]

Rotation を回転+平行移動させた結果を返す

Parameters:

other – 変換する対象

Returns:

返り値はRotationではなくTransform。 applied_to_transformと同じ結果になる

applied_to_transform(other: Transform) Transform[source]

Transform を回転+平行移動させた結果を返す

Parameters:

other – 変換する対象対象

inversed() Transform[source]

逆変換を取得 (ver3.0〜)

property pos: Tuple[float, float, float]

座標を返す

2次元の場合は pos[0:2] を使う

property rot: Tuple[float, float, float]

回転角を取得

2次元の場合は rot[0] を使う

Deprecated since version ver3.0.

rot_axis_angle() Tuple[Tuple[float, float, float], float][source]

回転角を軸と角度((x, y, z), angle)として取得 (ver3.0〜)

rot_euler(axis=AxisSequence.ZYX) Tuple[float, float, float][source]

回転角をオイラー角として取得 (ver3.0〜)

Parameters:

axis – オイラー角の回転順序

rot_matrix() Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]][source]

回転角を回転行列として取得 (ver3.0〜)

rot_quat() Tuple[float, float, float, float][source]

回転角をクォータニオン(w, x, y, z)として取得 (ver3.0〜)

class webcface.ValType(value)[source]

Bases: IntEnum

An enumeration.

BOOL = 2
FLOAT = 4
INT = 3
NONE = 0
STR = 1
STRING = 1
class webcface.Value(base: Field, field: str = '')[source]

Bases: Field

child(field: str) Value[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするValue

exists() bool[source]

このフィールドにデータが存在すればtrue (ver2.0〜)

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() float[source]

値をfloatで返す、まだリクエストされてなければ自動でリクエストされる

get_vec() List[float][source]

値をlistで返す、まだリクエストされてなければ自動でリクエストされる

property member: Member

Memberを返す

property name: str

field名を返す

on_change(func: Callable) Callable[source]

値が変化したときのイベント (ver2.0〜)

コールバックの引数にはValueオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request() None[source]

値の受信をリクエストする

set(data: List[SupportsFloat] | SupportsFloat) Value[source]

値をセットする

try_get() float | None[source]

値をfloatまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

try_get_vec() List[float] | None[source]

値をlistまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

class webcface.Variant(base: Field, field: str = '')[source]

Bases: Field

child(field: str) Variant[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするText

exists() bool[source]

このフィールドにデータが存在すればtrue (ver2.0〜)

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() float | bool | str[source]

データを返す、まだリクエストされてなければ自動でリクエストされる

property member: Member

Memberを返す

property name: str

field名を返す

on_change(func: Callable) Callable[source]

値が変化したときのイベント (ver2.0〜)

コールバックの引数にはVariantオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request() None[source]

値の受信をリクエストする

set(data: SupportsFloat | bool | str) Variant[source]

値をセットする

try_get() float | bool | str | None[source]

データまたはNoneを返す、まだリクエストされてなければ自動でリクエストされる

class webcface.View(base: Field, field: str = '')[source]

Bases: Field

add(*args: TemporalComponent | str | bool | SupportsFloat, **kwargs) View[source]

Viewに要素を追加

Parameters:

args – 追加する要素

複数指定した場合すべて追加される。 :arg kwargs: (ver3.0〜) argsが初期化済みの要素でない場合、要素の初期化時に渡すオプション。 詳細は TemporalComponent のコンストラクタを参照

child(field: str) View[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするView

exists() bool[source]

このフィールドにデータが存在すればtrue (ver2.0〜)

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() List[ViewComponent][source]

Viewをlistで返す、まだリクエストされてなければ自動でリクエストされる

init() View[source]

このViewオブジェクトにaddした内容を初期化する

property member: Member

Memberを返す

property name: str

field名を返す

on_change(func: Callable) Callable[source]

値が変化したときのイベント (ver2.0〜)

コールバックの引数にはViewオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request() None[source]

値の受信をリクエストする

set(components: List[TemporalComponent | str | bool | SupportsFloat]) View[source]

Viewのリストをセットする

Deprecated since version ver3.0.

sync() View[source]

Viewの内容をclientに反映し送信可能にする

try_get() List[ViewComponent] | None[source]

ViewをlistまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

class webcface.ViewColor(value)[source]

Bases: IntEnum

An enumeration.

BLACK = 1
BLUE = 18
CYAN = 16
GRAY = 4
GREEN = 13
INDIGO = 19
INHERIT = 0
ORANGE = 9
PINK = 23
PURPLE = 21
RED = 8
TEAL = 15
WHITE = 2
YELLOW = 11
class webcface.ViewComponentType(value)[source]

Bases: IntEnum

An enumeration.

BUTTON = 2
CHECK_INPUT = 9
DECIMAL_INPUT = 4
NEW_LINE = 1
NUMBER_INPUT = 5
SELECT_INPUT = 7
SLIDER_INPUT = 8
TEXT = 0
TEXT_INPUT = 3
TOGGLE_INPUT = 6