Adds Arper, cleans up other stuff.
[python_utils.git] / input_utils.py
index 648ee301639ec876750ebdd2b5d98e0d01603eaf..a989b2d6fe3db428d25a2de5b8baf6baef3c8734 100644 (file)
@@ -2,11 +2,12 @@
 
 """Utilities related to user input."""
 
-import readchar  # type: ignore
 import signal
 import sys
 from typing import List
 
+import readchar  # type: ignore
+
 import exceptions
 
 
@@ -17,6 +18,8 @@ def single_keystroke_response(
     default_response: str = None,
     timeout_seconds: int = None,
 ) -> str:
+    """Get a single keystroke response to a prompt."""
+
     def _handle_timeout(signum, frame) -> None:
         raise exceptions.TimeoutError()
 
@@ -56,12 +59,16 @@ def single_keystroke_response(
 
 
 def yn_response(prompt: str = None, *, timeout_seconds=None) -> str:
+    """Get a Y/N response to a prompt."""
+
     return single_keystroke_response(
         ["y", "n", "Y", "N"], prompt=prompt, timeout_seconds=timeout_seconds
     ).lower()
 
 
 def keystroke_helper() -> None:
+    """Misc util to watch keystrokes and report what they were."""
+
     print("Watching for keystrokes; ^C to quit.")
     while True:
         key = readchar.readkey()