Quellcode durchsuchen

add timeout to screen capture

Richard Köhl vor 1 Jahr
Ursprung
Commit
e3344d81b3
1 geänderte Dateien mit 13 neuen und 3 gelöschten Zeilen
  1. 13 3
      helper.py

+ 13 - 3
helper.py

@@ -23,9 +23,19 @@ def get_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