robotcode-robot 0.70.0__tar.gz → 0.71.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/PKG-INFO +2 -2
  2. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/pyproject.toml +1 -1
  3. robotcode_robot-0.71.0/src/robotcode/robot/__version__.py +1 -0
  4. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/document_cache_helper.py +3 -1
  5. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/imports_manager.py +4 -0
  6. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/namespace.py +8 -1
  7. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/workspace_config.py +6 -0
  8. robotcode_robot-0.70.0/src/robotcode/robot/__version__.py +0 -1
  9. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/.gitignore +0 -0
  10. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/LICENSE.txt +0 -0
  11. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/README.md +0 -0
  12. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/__init__.py +0 -0
  13. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/config/__init__.py +0 -0
  14. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/config/loader.py +0 -0
  15. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/config/model.py +0 -0
  16. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/config/utils.py +0 -0
  17. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/__init__.py +0 -0
  18. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/entities.py +0 -0
  19. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/errors.py +0 -0
  20. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/library_doc.py +0 -0
  21. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/model_helper.py +0 -0
  22. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/diagnostics/namespace_analyzer.py +0 -0
  23. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/py.typed +0 -0
  24. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/__init__.py +0 -0
  25. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/ast.py +0 -0
  26. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/markdownformatter.py +0 -0
  27. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/match.py +0 -0
  28. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/robot_path.py +0 -0
  29. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/stubs.py +0 -0
  30. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/variables.py +0 -0
  31. {robotcode_robot-0.70.0 → robotcode_robot-0.71.0}/src/robotcode/robot/utils/visitor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: robotcode-robot
3
- Version: 0.70.0
3
+ Version: 0.71.0
4
4
  Summary: Support classes for RobotCode for handling Robot Framework projects.
5
5
  Project-URL: Homepage, https://robotcode.io
6
6
  Project-URL: Donate, https://github.com/sponsors/d-biehl
@@ -26,7 +26,7 @@ Classifier: Topic :: Utilities
26
26
  Classifier: Typing :: Typed
27
27
  Requires-Python: >=3.8
28
28
  Requires-Dist: platformdirs<4.2.0,>=3.2.0
29
- Requires-Dist: robotcode-core==0.70.0
29
+ Requires-Dist: robotcode-core==0.71.0
30
30
  Requires-Dist: robotframework>=4.1.0
31
31
  Requires-Dist: tomli>=1.1.0; python_version < '3.11'
32
32
  Description-Content-Type: text/markdown
@@ -29,7 +29,7 @@ dependencies = [
29
29
  "robotframework>=4.1.0",
30
30
  "tomli>=1.1.0; python_version < '3.11'",
31
31
  "platformdirs>=3.2.0,<4.2.0",
32
- "robotcode-core==0.70.0",
32
+ "robotcode-core==0.71.0",
33
33
  ]
34
34
  dynamic = ["version"]
35
35
 
@@ -0,0 +1 @@
1
+ __version__ = "0.71.0"
@@ -33,7 +33,7 @@ from ..utils import get_robot_version
33
33
  from ..utils.stubs import Languages
34
34
  from .imports_manager import ImportsManager
35
35
  from .namespace import DocumentType, Namespace
36
- from .workspace_config import CacheConfig, RobotConfig
36
+ from .workspace_config import AnalysisRobotConfig, CacheConfig, RobotConfig
37
37
 
38
38
 
39
39
  class UnknownFileTypeError(Exception):
@@ -474,6 +474,7 @@ class DocumentsCacheHelper:
474
474
  *robot_config.variable_files,
475
475
  ]
476
476
 
477
+ analysis_config = self.workspace.get_configuration(AnalysisRobotConfig, root_uri)
477
478
  return ImportsManager(
478
479
  self.documents_manager,
479
480
  self.file_watcher_manager,
@@ -484,6 +485,7 @@ class DocumentsCacheHelper:
484
485
  environment,
485
486
  cache_config.ignored_libraries,
486
487
  cache_config.ignored_variables,
488
+ analysis_config.global_library_search_order,
487
489
  cache_base_path,
488
490
  )
489
491
 
@@ -489,6 +489,7 @@ class ImportsManager:
489
489
  environment: Optional[Dict[str, str]],
490
490
  ignored_libraries: List[str],
491
491
  ignored_variables: List[str],
492
+ global_library_search_order: List[str],
492
493
  cache_base_path: Optional[Path],
493
494
  ) -> None:
494
495
  super().__init__()
@@ -530,6 +531,9 @@ class ImportsManager:
530
531
 
531
532
  self.ignored_libraries_patters = [Pattern(s) for s in ignored_libraries]
532
533
  self.ignored_variables_patters = [Pattern(s) for s in ignored_variables]
534
+
535
+ self.global_library_search_order = global_library_search_order
536
+
533
537
  self._libaries_lock = threading.RLock()
534
538
  self._libaries: OrderedDict[_LibrariesEntryKey, _LibrariesEntry] = OrderedDict()
535
539
  self._resources_lock = threading.RLock()
@@ -596,7 +596,7 @@ class Namespace:
596
596
  self._keywords_lock = RLock(default_timeout=120, name="Namespace.keywords")
597
597
 
598
598
  # TODO: how to get the search order from model
599
- self.search_order: Tuple[str, ...] = ()
599
+ self._search_order: Optional[Tuple[str, ...]] = None
600
600
 
601
601
  self._finder: Optional[KeywordFinder] = None
602
602
 
@@ -625,6 +625,13 @@ class Namespace:
625
625
  def document(self) -> Optional[TextDocument]:
626
626
  return self._document() if self._document is not None else None
627
627
 
628
+ @property
629
+ def search_order(self) -> Tuple[str, ...]:
630
+ if self._search_order is None:
631
+ return tuple(self.imports_manager.global_library_search_order)
632
+
633
+ return self._search_order
634
+
628
635
  def imports_changed(self, sender: Any, uri: DocumentUri) -> None:
629
636
  # TODO: optimise this by checking our imports
630
637
  if self.document is not None:
@@ -48,3 +48,9 @@ class CacheConfig(ConfigBase):
48
48
  save_location: CacheSaveLocation = CacheSaveLocation.WORKSPACE_STORAGE
49
49
  ignored_libraries: List[str] = field(default_factory=list)
50
50
  ignored_variables: List[str] = field(default_factory=list)
51
+
52
+
53
+ @config_section("robotcode.analysis.robot")
54
+ @dataclass
55
+ class AnalysisRobotConfig(ConfigBase):
56
+ global_library_search_order: List[str] = field(default_factory=list)
@@ -1 +0,0 @@
1
- __version__ = "0.70.0"