Handle exception from os when attempting to determine console sizes.
authorScott Gasch <[email protected]>
Sun, 16 Oct 2022 19:10:15 +0000 (12:10 -0700)
committerScott Gasch <[email protected]>
Sun, 16 Oct 2022 19:10:15 +0000 (12:10 -0700)
src/pyutils/text_utils.py

index f80073c3d554701ed8546f9ae2138e0ed0b82af3..66f6f22dcd5dc8dcbd57777947002936e50e01f6 100644 (file)
@@ -54,6 +54,15 @@ def get_console_rows_columns() -> RowsColumns:
 
     rows: Union[Optional[str], int] = os.environ.get('LINES', None)
     cols: Union[Optional[str], int] = os.environ.get('COLUMNS', None)
+    if not rows or not cols:
+        try:
+            size = os.get_terminal_size()
+            rows = size.lines
+            cols = size.columns
+        except Exception:
+            rows = None
+            cols = None
+
     if not rows or not cols:
         logger.debug('Rows: %s, cols: %s, trying stty.', rows, cols)
         try:
@@ -65,11 +74,6 @@ def get_console_rows_columns() -> RowsColumns:
             rows = None
             cols = None
 
-    if not rows or not cols:
-        size = os.get_terminal_size()
-        rows = size.lines
-        cols = size.columns
-
     if not rows or not cols:
         raise Exception('Can\'t determine console size?!')
     return RowsColumns(int(rows), int(cols))