CFNgin UI manipulation.
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).
Obtain an exclusive lock on the UI for the current thread.
log(lvl, msg, *args, **kwargs)¶
Log the message if the current thread owns the underlying lock.
Release the lock on the UI.
info(msg, *args, **kwargs)¶
Log the line if the current thread owns the underlying lock.
Collect input from a user in a multithreaded environment.
This wraps the built-in raw_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.
Wrap getpass to lock the UI.