Browse Source

add timeout to screen capture

Richard Köhl 1 year ago
parent
commit
e3344d81b3
1 changed files with 13 additions and 3 deletions
  1. 13 3
      helper.py

+ 13 - 3
helper.py

@@ -23,9 +23,19 @@ def get_current_screen():
     return current_screen
     return current_screen
 
 
 
 
-def capture_current_screen():
-    global current_screen
-    current_screen = device.screencap()
+def capture_current_screen(timeout=5):  # Timeout in seconds
+    def target():
+        global current_screen
+        current_screen = device.screencap()
+
+    capture_thread = threading.Thread(target=target)
+    capture_thread.start()
+    capture_thread.join(timeout)
+
+    if capture_thread.is_alive():
+        print("Screen capture timed out")
+        # Handle the timeout situation, e.g., by retrying or aborting
+        capture_thread.join()
 
 
     return current_screen
     return current_screen