Failure
'base_loom_server.base_loom_server' not found in 'with allow_reconnection'.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer] class [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer](*, num_shafts: int, serial_port: str, reset_db: bool, verbose: bool, db_path: pathlib.Path | None = None, allow_reconnection: bool = False)
Base class for a web server that controls a dobby loom.
Subclasses should not only provide implementations for the abstract methods, but should also override the class constants, as appropriate.
Parameters
-
num_shafts : int — The number of shafts the loom has.
-
serial_port : str — The name of the serial port, e.g. "/dev/tty0". If the name is "mock" then use a mock loom.
-
reset_db : bool — If True, delete the old database and create a new one.
-
verbose : bool — If True, log diagnostic information.
-
db_path : pathlib.Path | None — Path to the pattern database. Specify None for the default path. Unit tests specify a non-None value, to avoid stomping on the real database.
-
allow_reconnection : bool — Reconnect to the loom if the client connection is dropped? Specify True for physical USB ports, but if you are connecting a virual USB port, then only specify True if you have verified it works.
Attributes
-
enable_software_direction : bool — Is software direction control enabled?
-
thread_low_to_high : bool — Return True if threading (or unthreading) is currently low to high.
-
loom_connected : bool — Return True if connected to the loom.
Methods
-
[handle_loom_reply][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_loom_reply] — Process one reply from the loom.
-
[write_shafts_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_shafts_to_loom] — Write the shaft word to the loom.
-
[start][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.start] — Run asynchronous startup tasks.
-
[close][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close] — Disconnect from client and loom and stop all tasks.
-
[add_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.add_pattern] — Add a pattern to pattern database.
-
[close_websocket][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close_websocket] — Close a websocket using best effort and a short timeout.
-
[get_initial_loom_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_initial_loom_state] — Obtain the loom state.
-
[connect_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.connect_to_loom] — Connect to the loom and start the read loom task.
-
[run_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.run_client] — Run a client connection, closing any existing connection.
-
[disconnect_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_client] — Disconnect the current client, if any.
-
[disconnect_from_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_from_loom] — Disconnect the loom. A no-op if already disconnected.
-
[basic_read_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.basic_read_loom] — Read one reply from the loom.
-
[clear_jump_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_end] — Clear self.jump_end and report value if changed or force_output.
-
[clear_jump_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_pick] — Clear self.jump_pick and report value if changed or force_output.
-
[clear_jumps][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jumps] — Clear all jumps and report values if changed or force_output.
-
[cmd_clear_pattern_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_clear_pattern_names] — Handle the clear_pattern_names command.
-
[cmd_direction][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_direction] — Handle the direction command: set direction.
-
[cmd_jump_to_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_end] — Handle the jump_to_end command.
-
[cmd_jump_to_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_pick] — Handle the jump_to_pick command.
-
[cmd_mode][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_mode] — Handle the mode command: set the mode.
-
[cmd_select_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_select_pattern] — Handle the select_pattern command.
-
[cmd_separate_threading_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_threading_repeats] — Handle the separate_threading_repeats command.
-
[cmd_separate_weaving_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_weaving_repeats] — Handle the separate_weaving_repeats command.
-
[cmd_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_settings] — Handle the settings command: set one or more settings.
-
[cmd_thread_group_size][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_thread_group_size] — Handle the thread_group_size command.
-
[cmd_oobcommand][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_oobcommand] — Handle the oob_command command.
-
[cmd_upload][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_upload] — Handle the upload command.
-
[get_threading_shaft_word][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_threading_shaft_word] — Get the current threading shaft word.
-
[handle_next_pick_request][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_next_pick_request] — Handle next pick request from loom.
-
[increment_pick_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_pick_number] — Increment pick_number in the current direction.
-
[increment_end_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_end_number] — Increment end_number0 in the current direction.
-
[load_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.load_settings] — Read the settings file, if it exists.
-
[read_client_loop][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_client_loop] — Read and process commands from the client.
-
[read_loom_loop][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_loom_loop] — Read and process replies from the loom.
-
[report_command_done][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_done] — Report completion of a command.
-
[report_command_problem][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_problem] — Report a CommandProblem to the client.
-
[report_current_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pattern] — Report pattern to the client.
-
[report_initial_server_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_initial_server_state] — Report server state.
-
[report_loom_connection_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_loom_connection_state] — Report LoomConnectionState to the client.
-
[report_pattern_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_pattern_names] — Report PatternNames to the client.
-
[report_current_pick_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pick_number] — Report CurrentPickNumber to the client.
-
[report_current_end_numbers][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_end_numbers] — Report CurrentEndNumber to the client.
-
[report_jump_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_end] — Report JumpEndNumber to the client.
-
[report_jump_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_pick] — Report JumpPickNumber to the client.
-
[report_shaft_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_shaft_state] — Report ShaftState to the client.
-
[report_mode][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_mode] — Report the current mode to the client.
-
[report_separate_threading_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_threading_repeats] — Report SeparateThreadingRepeats.
-
[report_separate_weaving_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_weaving_repeats] — Report SeparateWeavingRepeats.
-
[report_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_settings] — Report Settings.
-
[report_status_message][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_status_message] — Report a status message to the client.
-
[report_thread_group_size][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_thread_group_size] — Report ThreadGroupSize.
-
[report_language_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_language_names] — Report LanguageNames.
-
[report_direction][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_direction] — Report Direction.
-
[reset_database][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.reset_database] — Reset the pattern database (write a new one).
-
[save_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.save_settings] — Save the settings file.
-
[select_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.select_pattern] — Select the specified pattern.
-
[t][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.t] — Translate a phrase, if possible.
-
[write_to_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_client] — Send a reply to the client.
-
[write_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_loom] — Send data to the loom.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_loom_reply] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[handle_loom_reply][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_loom_reply](self, reply_bytes: bytes) → None
Process one reply from the loom.
Raises
-
NotImplementedError
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_shafts_to_loom] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[write_shafts_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_shafts_to_loom](self, shaft_word: int) → None
Write the shaft word to the loom.
Raises
-
NotImplementedError
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.enable_software_direction] property [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[enable_software_direction][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.enable_software_direction]: bool
Is software direction control enabled?
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.thread_low_to_high] property [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[thread_low_to_high][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.thread_low_to_high]: bool
Return True if threading (or unthreading) is currently low to high.
Takes into account settings and self.direction_forward.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.loom_connected] property [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[loom_connected][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.loom_connected]: bool
Return True if connected to the loom.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.start] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[start][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.start](self) → None
Run asynchronous startup tasks.
Initialize the pattern database and connect to the loom.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[close][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close](self, *, stop_read_loom: bool = True, stop_read_client: bool = True) → None
Disconnect from client and loom and stop all tasks.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.add_pattern] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[add_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.add_pattern](self, pattern: ReducedPattern) → None
Add a pattern to pattern database.
Also purge the MAX_PATTERNS oldest entries (excluding the current pattern, if any) and report the new list of pattern names to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close_websocket] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[close_websocket][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.close_websocket](self, ws: WebSocket, code: [CloseCode][mkapi.base_loom_server.base_loom_server with allow_reconnection.CloseCode] = [CloseCode][mkapi.base_loom_server.base_loom_server with allow_reconnection.CloseCode].[NORMAL][mkapi.base_loom_server.base_loom_server with allow_reconnection.CloseCode.NORMAL], reason: str = '') → None
Close a websocket using best effort and a short timeout.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_initial_loom_state] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[get_initial_loom_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_initial_loom_state](self) → None
Obtain the loom state.
Called just after the server connects to the loom.
Usually a no-op, because a well designed loom automatically reports its own state when software connects to it.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.connect_to_loom] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[connect_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.connect_to_loom](self) → None
Connect to the loom and start the read loom task.
If already connected to loom, and allow_reconnection is true, disconnect first, since connecting again may indicate that something is wrong.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.run_client] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[run_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.run_client](self, websocket: WebSocket) → None
Run a client connection, closing any existing connection.
Also open a connection to the loom, if that was closed.
Parameters
-
websocket : WebSocket — Connection to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_client] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[disconnect_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_client](self) → None
Disconnect the current client, if any.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_from_loom] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[disconnect_from_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.disconnect_from_loom](self) → None
Disconnect the loom. A no-op if already disconnected.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.basic_read_loom] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[basic_read_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.basic_read_loom](self) → bytes
Read one reply from the loom.
Perform no error checking, except that self.loom_reader exists.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_end] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[clear_jump_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_end](self, *, force_output: bool = False) → None
Clear self.jump_end and report value if changed or force_output.
Parameters
-
force_output : bool — If true, report
JumpEndNumber
, even if it has not changed.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_pick] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[clear_jump_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jump_pick](self, *, force_output: bool = False) → None
Clear self.jump_pick and report value if changed or force_output.
Parameters
-
force_output : bool — If true, report
JumpPickNumber
, even if it has not changed.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jumps] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[clear_jumps][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.clear_jumps](self, *, force_output: bool = False) → None
Clear all jumps and report values if changed or force_output.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_clear_pattern_names] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_clear_pattern_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_clear_pattern_names](self, command: SimpleNamespace) → None
Handle the clear_pattern_names command.
Clear all patterns except the current pattern.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_direction] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_direction][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_direction](self, command: SimpleNamespace) → None
Handle the direction command: set direction.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_end] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_jump_to_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_end](self, command: SimpleNamespace) → None
Handle the jump_to_end command.
Raises
-
[CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_pick] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_jump_to_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_jump_to_pick](self, command: SimpleNamespace) → None
Handle the jump_to_pick command.
Raises
-
[CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_mode] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_mode][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_mode](self, command: SimpleNamespace) → None
Handle the mode command: set the mode.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_select_pattern] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_select_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_select_pattern](self, command: SimpleNamespace) → None
Handle the select_pattern command.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_threading_repeats] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_separate_threading_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_threading_repeats](self, command: SimpleNamespace) → None
Handle the separate_threading_repeats command.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_weaving_repeats] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_separate_weaving_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_separate_weaving_repeats](self, command: SimpleNamespace) → None
Handle the separate_weaving_repeats command.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_settings] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_settings](self, command: SimpleNamespace) → None
Handle the settings command: set one or more settings.
Raises
-
[CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_thread_group_size] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_thread_group_size][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_thread_group_size](self, command: SimpleNamespace) → None
Handle the thread_group_size command.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_oobcommand] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_oobcommand][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_oobcommand](self, command: SimpleNamespace) → None
Handle the oob_command command.
Send an out-of-band command to the mock loom. Ignored with a logged warning if the loom is not the mock loom.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_upload] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[cmd_upload][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.cmd_upload](self, command: SimpleNamespace) → None
Handle the upload command.
Raises
-
[CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_threading_shaft_word] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[get_threading_shaft_word][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.get_threading_shaft_word]() → int
Get the current threading shaft word.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_next_pick_request] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[handle_next_pick_request][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_next_pick_request](self) → bool
Handle next pick request from loom.
Call this from handle_loom_reply.
Figure out the next pick, send it to the loom, and report the current pick or end numbers to the client (if we were not at the beginning of the work).
Returns
-
[did_advance][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.handle_next_pick_request.did_advance] — True if the loom was sent the next set of shafts. False if in Setting mode, or no current pattern, or attemped to go beyond the start of the pattern.
Raises
-
RuntimeError
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_pick_number] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[increment_pick_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_pick_number]() → int
Increment pick_number in the current direction.
Increment pick_repeat_number as well, if appropriate.
Return the new pick number. This will be 0 if pick_repeat_number changed, or if unweaving and pick_repeat_number would be decremented to 0.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_end_number] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[increment_end_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.increment_end_number]() → None
Increment end_number0 in the current direction.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.load_settings] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[load_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.load_settings]() → None
Read the settings file, if it exists.
Usable entries will replace the values in self.settings
(which must already be set to a valid value).
Unusable entries will be ignored, with a logged warning.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_client_loop] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[read_client_loop][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_client_loop](self) → None
Read and process commands from the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_loom_loop] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[read_loom_loop][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.read_loom_loop](self) → None
Read and process replies from the loom.
Raises
-
RuntimeError
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_done] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_command_done][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_done](self, *, cmd_type: str, success: bool, message: str = '') → None
Report completion of a command.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_problem] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_command_problem][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_command_problem](self, message: str, severity: MessageSeverityEnum) → None
Report a CommandProblem to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pattern] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_current_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pattern](self) → None
Report pattern to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_initial_server_state] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_initial_server_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_initial_server_state](self) → None
Report server state.
Called just after a client connects to the server.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_loom_connection_state] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_loom_connection_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_loom_connection_state](self, reason: str = '') → None
Report LoomConnectionState to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_pattern_names] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_pattern_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_pattern_names](self) → None
Report PatternNames to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pick_number] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_current_pick_number][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_pick_number](self) → None
Report CurrentPickNumber to the client.
Also update pick information in the database.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_end_numbers] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_current_end_numbers][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_current_end_numbers](self) → None
Report CurrentEndNumber to the client.
Also update threading information the database.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_end] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_jump_end][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_end](self) → None
Report JumpEndNumber to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_pick] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_jump_pick][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_jump_pick](self) → None
Report JumpPickNumber to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_shaft_state] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_shaft_state][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_shaft_state](self) → None
Report ShaftState to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_mode] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_mode][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_mode](self) → None
Report the current mode to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_threading_repeats] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_separate_threading_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_threading_repeats](self) → None
Report SeparateThreadingRepeats.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_weaving_repeats] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_separate_weaving_repeats][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_separate_weaving_repeats](self) → None
Report SeparateWeavingRepeats.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_settings] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_settings](self) → None
Report Settings.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_status_message] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_status_message][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_status_message](self, message: str, severity: MessageSeverityEnum) → None
Report a status message to the client.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_thread_group_size] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_thread_group_size][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_thread_group_size](self) → None
Report ThreadGroupSize.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_language_names] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_language_names][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_language_names](self) → None
Report LanguageNames.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_direction] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[report_direction][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.report_direction](self) → None
Report Direction.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.reset_database] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[reset_database][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.reset_database]() → None
Reset the pattern database (write a new one).
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.save_settings] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[save_settings][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.save_settings]() → None
Save the settings file.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.select_pattern] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[select_pattern][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.select_pattern](self, name: str) → None
Select the specified pattern.
Raises
-
[CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.t] method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[t][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.t](phrase: str) → str
Translate a phrase, if possible.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_client] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[write_to_client][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_client](self, reply: Any) → None
Send a reply to the client.
Parameters
-
reply : Any — The reply to write, as a dataclass. It should have a "type" field whose value is a string.
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_loom] async method [BaseLoomServer][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer].[write_to_loom][mkapi.base_loom_server.base_loom_server with allow_reconnection.BaseLoomServer.write_to_loom](self, data: bytes | bytearray | str) → None
Send data to the loom.
Parameters
-
data : bytes | bytearray | str — The data to send, without a terminator. (This method will append the terminator).
Raises
-
RuntimeError
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.CloseCode] enum [CloseCode][mkapi.base_loom_server.base_loom_server with allow_reconnection.CloseCode](*args, **kwds)
Bases : enum.IntEnum
WebSocket close codes.
A small subset of https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4
Attributes
-
NORMAL
-
GOING_AWAY
-
ERROR
[source][mkapi.source.base_loom_server.base_loom_server with allow_reconnection.CommandError] class [CommandError][mkapi.base_loom_server.base_loom_server with allow_reconnection.CommandError]()
Bases : Exception