From 316cf3f66ddbf13dfacb0f1d2a50fc0bc1cb9bab Mon Sep 17 00:00:00 2001 From: "Cosmin G. Popa" Date: Thu, 14 Mar 2024 21:12:58 +0200 Subject: [PATCH] Fixing lint issues --- .../src/robocorp_code/inspector/client.py | 8 ++--- .../src/robocorp_code/inspector/common.py | 2 +- .../robocorp_code/inspector/image/_bridge.py | 4 +-- .../inspector/image/_image_inspector.py | 8 ++--- .../inspector/inspector__main__.py | 6 ++-- .../robocorp_code/inspector/inspector_api.py | 34 +++++++++++-------- .../inspector/inspector_language_server.py | 8 ++--- .../inspector/inspector_server_manager.py | 14 ++++---- .../inspector/java/java_inspector.py | 11 +++--- .../robocorp_code/inspector/java/picker.py | 24 +++++++------ .../java/robocorp_java/_event_pump.py | 2 +- .../java/robocorp_java/_inspector.py | 11 +++--- .../inspector/web/_web_inspector.py | 6 ++-- .../inspector/windows/windows_inspector.py | 4 +-- robocorp-code/yarn.lock | 18 ++++------ 15 files changed, 82 insertions(+), 78 deletions(-) diff --git a/robocorp-code/src/robocorp_code/inspector/client.py b/robocorp-code/src/robocorp_code/inspector/client.py index 3887a22f6f..c6ed40f7ac 100644 --- a/robocorp-code/src/robocorp_code/inspector/client.py +++ b/robocorp-code/src/robocorp_code/inspector/client.py @@ -1,9 +1,9 @@ import sys from typing import Dict, Optional, Union -from robocorp_ls_core.basic import implements -from robocorp_ls_core.client_base import LanguageServerClientBase -from robocorp_ls_core.protocols import ( +from robocorp_ls_core.basic import implements # type: ignore +from robocorp_ls_core.client_base import LanguageServerClientBase # type: ignore +from robocorp_ls_core.protocols import ( # type: ignore IErrorMessage, IIdMessageMatcher, ILanguageServerClientBase, @@ -61,7 +61,7 @@ def _check_process_alive(self, raise_exception=True): return True def initialize(self, process_id=None): - from robocorp_ls_core.options import NO_TIMEOUT, USE_TIMEOUTS + from robocorp_ls_core.options import NO_TIMEOUT, USE_TIMEOUTS # type: ignore self._check_process_alive() msg_id = self.next_id() diff --git a/robocorp-code/src/robocorp_code/inspector/common.py b/robocorp-code/src/robocorp_code/inspector/common.py index e8b5259940..b88be76e51 100644 --- a/robocorp-code/src/robocorp_code/inspector/common.py +++ b/robocorp-code/src/robocorp_code/inspector/common.py @@ -1,6 +1,6 @@ import enum from typing import Optional -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.robotframework_log import get_logger # type: ignore log = get_logger("Inspector") diff --git a/robocorp-code/src/robocorp_code/inspector/image/_bridge.py b/robocorp-code/src/robocorp_code/inspector/image/_bridge.py index 178bdc252a..03a37c9c33 100644 --- a/robocorp-code/src/robocorp_code/inspector/image/_bridge.py +++ b/robocorp-code/src/robocorp_code/inspector/image/_bridge.py @@ -7,12 +7,12 @@ from typing import Optional from uuid import uuid4 -from robocorp_code.inspector.common import ( +from robocorp_code.inspector.common import ( # type: ignore STATE_CLOSED, STATE_INITIALIZING, STATE_PICKING, ) -from robocorp_ls_core.protocols import IEndPoint +from robocorp_ls_core.protocols import IEndPoint # type: ignore DEFAULT_CONFIDENCE = 80 diff --git a/robocorp-code/src/robocorp_code/inspector/image/_image_inspector.py b/robocorp-code/src/robocorp_code/inspector/image/_image_inspector.py index 2dafbeeff2..e7ad5d0df6 100644 --- a/robocorp-code/src/robocorp_code/inspector/image/_image_inspector.py +++ b/robocorp-code/src/robocorp_code/inspector/image/_image_inspector.py @@ -2,11 +2,11 @@ import typing from typing import Any, Callable, Optional, List -from robocorp_ls_core.protocols import IEndPoint -from robocorp_ls_core.callbacks import Callback -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.protocols import IEndPoint # type: ignore +from robocorp_ls_core.callbacks import Callback # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore -from ._bridge import ImageBridge +from ._bridge import ImageBridge # type: ignore log = get_logger(__name__) diff --git a/robocorp-code/src/robocorp_code/inspector/inspector__main__.py b/robocorp-code/src/robocorp_code/inspector/inspector__main__.py index 4576e18498..ec4a84dbcf 100644 --- a/robocorp-code/src/robocorp_code/inspector/inspector__main__.py +++ b/robocorp-code/src/robocorp_code/inspector/inspector__main__.py @@ -12,7 +12,7 @@ def _stderr_reader(stream): - from robocorp_ls_core.robotframework_log import get_logger + from robocorp_ls_core.robotframework_log import get_logger # type: ignore log = get_logger(__name__) @@ -39,8 +39,8 @@ def start_server_process(args=(), python_exe=None, env=None): """ import threading - from robocorp_ls_core.robotframework_log import get_logger - from robocorp_ls_core.subprocess_wrapper import subprocess + from robocorp_ls_core.robotframework_log import get_logger # type: ignore + from robocorp_ls_core.subprocess_wrapper import subprocess # type: ignore log = get_logger(__name__) diff --git a/robocorp-code/src/robocorp_code/inspector/inspector_api.py b/robocorp-code/src/robocorp_code/inspector/inspector_api.py index 46a843c51e..ea0fc9d210 100644 --- a/robocorp-code/src/robocorp_code/inspector/inspector_api.py +++ b/robocorp-code/src/robocorp_code/inspector/inspector_api.py @@ -1,22 +1,22 @@ import threading from queue import Queue -from typing import Literal, Optional, TYPE_CHECKING, Callable, Tuple +from typing import Literal, Optional, TYPE_CHECKING, Callable, Tuple, Any -from robocorp_ls_core.basic import overrides -from robocorp_ls_core.protocols import ActionResultDict, IConfig, IEndPoint -from robocorp_ls_core.python_ls import PythonLanguageServer -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.basic import overrides # type: ignore +from robocorp_ls_core.protocols import ActionResultDict, IConfig, IEndPoint # type: ignore +from robocorp_ls_core.python_ls import PythonLanguageServer # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore -from robocorp_code.inspector.common import LogLevel, log_call -from robocorp_code.inspector.web._web_inspector import ( +from robocorp_code.inspector.common import LogLevel, log_call # type: ignore +from robocorp_code.inspector.web._web_inspector import ( # type: ignore PickedLocatorTypedDict, WebInspector, ) if TYPE_CHECKING: - from robocorp_code.inspector.windows.windows_inspector import WindowsInspector - from robocorp_code.inspector.image._image_inspector import ImageInspector - from robocorp_code.inspector.java.java_inspector import JavaInspector + from robocorp_code.inspector.windows.windows_inspector import WindowsInspector # type: ignore + from robocorp_code.inspector.image._image_inspector import ImageInspector # type: ignore + from robocorp_code.inspector.java.java_inspector import JavaInspector # type: ignore log = get_logger(__name__) @@ -67,7 +67,8 @@ def shutdown(self) -> None: # signal the run to finish self._finish = True self.queue.put(None) - self._web_inspector.shutdown() + if self._web_inspector: + self._web_inspector.shutdown() def run(self) -> None: from concurrent.futures import Future @@ -300,7 +301,8 @@ def windows_inspector(self) -> Optional["WindowsInspector"]: def shutdown(self) -> None: self._finish = True self.queue.put(None) - self._windows_inspector.shutdown() + if self._windows_inspector: + self._windows_inspector.shutdown() def run(self) -> None: from concurrent.futures import Future @@ -529,7 +531,8 @@ def image_inspector(self) -> Optional["ImageInspector"]: def shutdown(self) -> None: self._finish = True self.queue.put(None) - self._image_inspector.shutdown() + if self._image_inspector: + self._image_inspector.shutdown() def run(self) -> None: from concurrent.futures import Future @@ -660,7 +663,8 @@ def java_inspector(self) -> Optional["JavaInspector"]: def shutdown(self) -> None: self._finish = True self.queue.put(None) - self._java_inspector.shutdown() + if self._java_inspector: + self._java_inspector.shutdown() def run(self) -> None: from concurrent.futures import Future @@ -671,7 +675,7 @@ def run(self) -> None: endpoint = self._endpoint - def _on_pick(picked: any): + def _on_pick(picked: Any): endpoint.notify("$/javaPick", {"picked": picked}) self._java_inspector = JavaInspector() diff --git a/robocorp-code/src/robocorp_code/inspector/inspector_language_server.py b/robocorp-code/src/robocorp_code/inspector/inspector_language_server.py index 49a8678c3c..68e2b647aa 100644 --- a/robocorp-code/src/robocorp_code/inspector/inspector_language_server.py +++ b/robocorp-code/src/robocorp_code/inspector/inspector_language_server.py @@ -3,10 +3,10 @@ from pathlib import Path from typing import Literal, Optional -from robocorp_ls_core.protocols import ActionResultDict -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.protocols import ActionResultDict # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore -from robocorp_code.inspector.common import LogLevel, log_call +from robocorp_code.inspector.common import LogLevel, log_call # type: ignore log = get_logger(__name__) @@ -213,7 +213,7 @@ def m_web_inspector_configure_browser( def m_web_inspector_open_browser(self, url=None): inspector_api_client = self._inspector_server_manager.get_inspector_api_client() if url is None: - from robocorp_ls_core import uris + from robocorp_ls_core import uris # type: ignore from robocorp_code.inspector.web import INSPECTOR_GUIDE_PATH diff --git a/robocorp-code/src/robocorp_code/inspector/inspector_server_manager.py b/robocorp-code/src/robocorp_code/inspector/inspector_server_manager.py index 59e78f26ab..8e63b99c1b 100644 --- a/robocorp-code/src/robocorp_code/inspector/inspector_server_manager.py +++ b/robocorp-code/src/robocorp_code/inspector/inspector_server_manager.py @@ -5,14 +5,14 @@ from functools import partial from typing import Optional -from robocorp_ls_core.basic import ( +from robocorp_ls_core.basic import ( # type: ignore is_process_alive, kill_process_and_subprocesses, log_and_silence_errors, ) -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.robotframework_log import get_logger # type: ignore -from robocorp_code.inspector.client import InspectorApiClient +from robocorp_code.inspector.client import InspectorApiClient # type: ignore log = get_logger(__name__) @@ -63,9 +63,9 @@ def robocorp_code_language_server(self): return self._language_server_ref() def get_inspector_api_client(self) -> Optional[InspectorApiClient]: - from robocorp_code.inspector.inspector__main__ import start_server_process - from robocorp_code.options import Setup - from robocorp_code.robocorp_language_server import RobocorpLanguageServer + from robocorp_code.inspector.inspector__main__ import start_server_process # type: ignore + from robocorp_code.options import Setup # type: ignore + from robocorp_code.robocorp_language_server import RobocorpLanguageServer # type: ignore self._check_in_main_thread() server_process = self._server_process @@ -79,7 +79,7 @@ def get_inspector_api_client(self) -> Optional[InspectorApiClient]: if server_process is None: try: - from robocorp_ls_core.jsonrpc.streams import ( + from robocorp_ls_core.jsonrpc.streams import ( # type: ignore JsonRpcStreamReader, JsonRpcStreamWriter, ) diff --git a/robocorp-code/src/robocorp_code/inspector/java/java_inspector.py b/robocorp-code/src/robocorp_code/inspector/java/java_inspector.py index fe00931455..86f3df1a5d 100644 --- a/robocorp-code/src/robocorp_code/inspector/java/java_inspector.py +++ b/robocorp-code/src/robocorp_code/inspector/java/java_inspector.py @@ -5,10 +5,10 @@ from JABWrapper.context_tree import ContextNode # type: ignore from JABWrapper.jab_wrapper import JavaWindow # type: ignore -from robocorp_ls_core.callbacks import Callback -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.callbacks import Callback # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore -from robocorp_code.inspector.java.robocorp_java._inspector import ColletedTreeTypedDict +from robocorp_code.inspector.java.robocorp_java._inspector import ColletedTreeTypedDict # type: ignore log = get_logger(__name__) @@ -311,7 +311,7 @@ def start_pick(self, search_depth: int = 200) -> None: raise Exception("Could not collect the tree elements. Rejecting picker!") # tree_geometries = [ (node_index, (left, top, right, bottom), node ) ] - tree_geometries: List[Tuple[int, Tuple]] = [] + tree_geometries: List[Tuple[int, Tuple, LocatorNodeInfoTypedDict]] = [] for node_index, node in enumerate(app_tree["hierarchy"]): geometry = to_geometry_node(node) if geometry is not None: @@ -349,7 +349,7 @@ def start_highlight( self, locator: str, search_depth: int = 8, - ) -> None: + ) -> MatchesAndHierarchyTypedDict: self._element_inspector.bring_app_to_frontend() # kill the TK thread @@ -391,6 +391,7 @@ def kill_highlight(): self._timer_thread = threading.Timer(3, kill_highlight) self._timer_thread.start() + return matches_and_hierarchy def stop_highlight(self) -> None: """ diff --git a/robocorp-code/src/robocorp_code/inspector/java/picker.py b/robocorp-code/src/robocorp_code/inspector/java/picker.py index cd1391121f..426b44493b 100644 --- a/robocorp-code/src/robocorp_code/inspector/java/picker.py +++ b/robocorp-code/src/robocorp_code/inspector/java/picker.py @@ -3,8 +3,8 @@ import time from typing import Callable, List, Optional, Tuple -from robocorp_code.inspector.java.highlighter import TkHandlerThread -from robocorp_ls_core.robotframework_log import ILog +from robocorp_code.inspector.java.highlighter import TkHandlerThread # type: ignore +from robocorp_ls_core.robotframework_log import ILog # type: ignore class CursorPos: @@ -36,7 +36,7 @@ class CursorListenerThread(threading.Thread): def __init__( self, log: ILog, - tk_handler_thread: TkHandlerThread, + tk_handler_thread: Optional[TkHandlerThread], # tree_geometries = [ (node_index, (left, top, right, bottom), node ) ] tree_geometries: List[Tuple[int, Tuple, dict]], # on_pick = func( (node_index, (left, top, right, bottom), node ) ) @@ -51,7 +51,7 @@ def __init__( self._on_pick = on_pick # _element_hit = (node_index, (left, top, right, bottom) ) - self._element_hit: Optional[Tuple[int, Tuple]] = None + self._element_hit: Optional[Tuple[int, Tuple, dict]] = None self._timer_highlight_clear: Optional[threading.Timer] = None def run(self) -> None: @@ -101,19 +101,23 @@ def _highlighter_start(self): self._highlighter_clear() self._highlighter_stop() # recreate the TK thread - self._tk_handler_thread.create() - self._tk_handler_thread.loop() + if self._tk_handler_thread: + self._tk_handler_thread.create() + self._tk_handler_thread.loop() def _highlighter_stop(self): # kill the TK thread - self._tk_handler_thread.quitloop() - self._tk_handler_thread.destroy_tk_handler() + if self._tk_handler_thread: + self._tk_handler_thread.quitloop() + self._tk_handler_thread.destroy_tk_handler() def _highlighter_clear(self): - self._tk_handler_thread.set_rects(rects=[]) + if self._tk_handler_thread: + self._tk_handler_thread.set_rects(rects=[]) def _highlighter_draw(self, rects: List[Tuple]): - self._tk_handler_thread.set_rects(rects=rects) + if self._tk_handler_thread: + self._tk_handler_thread.set_rects(rects=rects) def _find_element_based_on_cursor(self, x: int, y: int): for elem in reversed(self._tree_geometries): diff --git a/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_event_pump.py b/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_event_pump.py index bd3037c665..9fc96d90a8 100644 --- a/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_event_pump.py +++ b/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_event_pump.py @@ -5,7 +5,7 @@ from concurrent import futures from JABWrapper.jab_wrapper import JavaAccessBridgeWrapper # type: ignore -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.robotframework_log import get_logger # type: ignore log = get_logger(__name__) diff --git a/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_inspector.py b/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_inspector.py index fb708d65fb..839960b3d7 100644 --- a/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_inspector.py +++ b/robocorp-code/src/robocorp_code/inspector/java/robocorp_java/_inspector.py @@ -2,9 +2,10 @@ from JABWrapper.context_tree import ContextNode, ContextTree # type: ignore from JABWrapper.jab_wrapper import JavaAccessBridgeWrapper, JavaWindow # type: ignore -from robocorp_ls_core.robotframework_log import get_logger -from robocorp_code.inspector.java.highlighter import TkHandlerThread +from robocorp_ls_core.robotframework_log import get_logger # type: ignore + +from robocorp_code.inspector.java.highlighter import TkHandlerThread # type: ignore log = get_logger(__name__) @@ -104,7 +105,7 @@ def _collect_from_root( try: matches = find_elements_from_tree(self._context, locator) except AttributeError as e: - log.error(e) + log.error("Finding elements from tree failed:", e) return {"matches": matches, "tree": self._context} def _collect_from_context( @@ -135,7 +136,7 @@ def _collect_from_context( try: matches = find_elements_from_tree(self._context, locator) except AttributeError as e: - log.error(e) + log.error("Finding elements from tree failed:", e) return {"matches": matches, "tree": node} def collect_tree( @@ -187,7 +188,7 @@ def _collect_node( log.info("Found node:", node) return node except Exception as e: - log.error(e) + log.error("Finding elements from tree failed:", e) return None def _collect_node_ancestry(self, node: ContextNode) -> List[ContextNode]: diff --git a/robocorp-code/src/robocorp_code/inspector/web/_web_inspector.py b/robocorp-code/src/robocorp_code/inspector/web/_web_inspector.py index 57194d0557..2bbf7f0627 100644 --- a/robocorp-code/src/robocorp_code/inspector/web/_web_inspector.py +++ b/robocorp-code/src/robocorp_code/inspector/web/_web_inspector.py @@ -8,9 +8,9 @@ from playwright.sync_api import ElementHandle from playwright.sync_api import Error as PlaywrightError from playwright.sync_api import Page -from robocorp_ls_core.callbacks import Callback -from robocorp_ls_core.protocols import IEndPoint, TypedDict -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.callbacks import Callback # type: ignore +from robocorp_ls_core.protocols import IEndPoint, TypedDict # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore from robocorp_code.inspector.common import ( STATE_CLOSED, diff --git a/robocorp-code/src/robocorp_code/inspector/windows/windows_inspector.py b/robocorp-code/src/robocorp_code/inspector/windows/windows_inspector.py index 4c579a53f6..2e387b265d 100644 --- a/robocorp-code/src/robocorp_code/inspector/windows/windows_inspector.py +++ b/robocorp-code/src/robocorp_code/inspector/windows/windows_inspector.py @@ -12,8 +12,8 @@ Union, ) -from robocorp_ls_core.callbacks import Callback -from robocorp_ls_core.robotframework_log import get_logger +from robocorp_ls_core.callbacks import Callback # type: ignore +from robocorp_ls_core.robotframework_log import get_logger # type: ignore log = get_logger(__name__) diff --git a/robocorp-code/yarn.lock b/robocorp-code/yarn.lock index 97ca2eba6c..86933365cd 100644 --- a/robocorp-code/yarn.lock +++ b/robocorp-code/yarn.lock @@ -33,15 +33,9 @@ integrity sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw== "@types/node@*": -<<<<<<< HEAD - version "20.11.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" - integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== -======= - version "20.11.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292" - integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw== ->>>>>>> f5da5c0e ([skip ci] Finished scaffolding for the Java Inspector.) + version "20.11.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.27.tgz#debe5cfc8a507dd60fe2a3b4875b1604f215c2ac" + integrity sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg== dependencies: undici-types "~5.26.4" @@ -64,9 +58,9 @@ integrity sha512-wQhExnh2nEzpjDMSKhUvnNmz3ucpd3E+R7wJkOhBNK3No6fG3VUdmVmMOKD0A8NDZDDDiQcLNxe3oGmX5SjJ5w== adm-zip@^0.5.9: - version "0.5.10" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.10.tgz#4a51d5ab544b1f5ce51e1b9043139b639afff45b" - integrity sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ== + version "0.5.12" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.12.tgz#87786328e91d54b37358d8a50f954c4cd73ba60b" + integrity sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ== agent-base@4, agent-base@^4.3.0: version "4.3.0"