runway.cfngin.ui module¶
CFNgin UI manipulation.
- class runway.cfngin.ui.UI[source]¶
Bases:
AbstractContextManager
[UI]Used internally from terminal output in a multithreaded environment.
Ensures that two threads don’t write over each other while asking a user for input (e.g. in interactive mode).
- __exit__(exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) None [source]¶
Exit the context manager.
- ask(message: str) str [source]¶
Collect input from a user in a multithreaded environment.
This wraps the built-in input function to ensure that only 1 thread is asking for input from the user at a give time. Any process that tries to log output to the terminal will be blocked while the user is being prompted.
- info(msg: str, *args: ~typing.Any, logger: ~logging.Logger | ~logging.LoggerAdapter[~typing.Any] = <RunwayLogger runway.cfngin.ui (WARNING)>, **kwargs: ~typing.Any) None [source]¶
Log the line if the current thread owns the underlying lock.
- Parameters:
msg – String template or exception to use for the log record.
logger – Specific logger to log to.
*args – Variable length argument list.
**kwargs – Arbitrary keyword arguments.
- log(lvl: int, msg: Exception | str, *args: ~typing.Any, logger: ~logging.Logger | ~logging.LoggerAdapter[~typing.Any] = <RunwayLogger runway.cfngin.ui (WARNING)>, **kwargs: ~typing.Any) None [source]¶
Log the message if the current thread owns the underlying lock.
- Parameters:
lvl – Log level.
msg – String template or exception to use for the log record.
logger – Specific logger to log to.
*args – Variable length argument list.
**kwargs – Arbitrary keyword arguments.