From f050c6a214a57fba3fe44aa1dd9cb2832f7e0525 Mon Sep 17 00:00:00 2001 From: zhao-george Date: Fri, 26 Jan 2024 13:26:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Ddogtail=E8=8E=B7?= =?UTF-8?q?=E5=8F=96application=E9=98=BB=E5=A1=9E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: 修复dogtail获取application阻塞问题 Log: 修复dogtail获取application阻塞问题 --- src/depends/dogtail/config.py | 9 ++++++++- src/depends/dogtail/tree.py | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/depends/dogtail/config.py b/src/depends/dogtail/config.py index 37d11c7..df2771b 100644 --- a/src/depends/dogtail/config.py +++ b/src/depends/dogtail/config.py @@ -114,6 +114,10 @@ class _Config(object): logDebugToStdOut (boolean): Whether to print log output to console or not (default True). + + reversed (boolean): + When traversing nodes, is reverse iteration adopted?(default False). + """ @property def scriptName(self): @@ -158,7 +162,10 @@ class _Config(object): 'checkForA11y': True, # Logging - 'logDebugToFile': True + 'logDebugToFile': True, + + # reversed + 'reversed': True } options = {} diff --git a/src/depends/dogtail/tree.py b/src/depends/dogtail/tree.py index d634adc..337409a 100644 --- a/src/depends/dogtail/tree.py +++ b/src/depends/dogtail/tree.py @@ -888,7 +888,10 @@ class Node(object): pred = lambda n: orig_pred(n) and \ n.getState().contains(pyatspi.STATE_SHOWING) if not recursive: - cIter = iter(self) + if config.reversed is False: + cIter = iter(self) + else: + cIter = reversed(self) while True: try: child = next(cIter)