robotcode-robot 0.98.0__py3-none-any.whl → 0.99.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- __version__ = "0.98.0"
1
+ __version__ = "0.99.0"
@@ -10,6 +10,7 @@ class Error:
10
10
  KEYWORD_NOT_FOUND = "KeywordNotFound"
11
11
  LIBRARY_CONTAINS_NO_KEYWORDS = "LibraryContainsNoKeywords"
12
12
  POSSIBLE_CIRCULAR_IMPORT = "PossibleCircularImport"
13
+ CIRCULAR_IMPORT = "CircularImport"
13
14
  RESOURCE_EMPTY = "ResourceEmpty"
14
15
  IMPORT_CONTAINS_ERRORS = "ImportContainsErrors"
15
16
  RECURSIVE_IMPORT = "RecursiveImport"
@@ -1276,11 +1276,12 @@ class Namespace:
1276
1276
  )
1277
1277
  return None
1278
1278
 
1279
- if self.source == source:
1279
+ if same_file(self.source, source):
1280
1280
  if parent_import:
1281
1281
  self.append_diagnostics(
1282
1282
  range=parent_import.range,
1283
- message="Possible circular import.",
1283
+ message=f"Possible circular import detected, Resource file'{Path(self.source).name}' "
1284
+ "might reference itself directly or through other resource files",
1284
1285
  severity=DiagnosticSeverity.INFORMATION,
1285
1286
  source=DIAGNOSTICS_SOURCE_NAME,
1286
1287
  related_information=(
@@ -1298,6 +1299,15 @@ class Namespace:
1298
1299
  ),
1299
1300
  code=Error.POSSIBLE_CIRCULAR_IMPORT,
1300
1301
  )
1302
+ else:
1303
+ self.append_diagnostics(
1304
+ range=value.range,
1305
+ message=f"Circular import detected, Resource file '{Path(source).name}' "
1306
+ "is importing itself",
1307
+ severity=DiagnosticSeverity.INFORMATION,
1308
+ source=DIAGNOSTICS_SOURCE_NAME,
1309
+ code=Error.CIRCULAR_IMPORT,
1310
+ )
1301
1311
  else:
1302
1312
  result = self._get_resource_entry(
1303
1313
  value.name,
@@ -1545,7 +1555,14 @@ class Namespace:
1545
1555
  (
1546
1556
  e
1547
1557
  for e in self._variables_imports.values()
1548
- if e.library_doc.source == entry.library_doc.source
1558
+ if (
1559
+ (
1560
+ e.library_doc.source is not None
1561
+ and entry.library_doc.source is not None
1562
+ and same_file(e.library_doc.source, entry.library_doc.source)
1563
+ )
1564
+ or (e.library_doc.source is None and entry.library_doc.source is None)
1565
+ )
1549
1566
  and e.alias == entry.alias
1550
1567
  and e.args == entry.args
1551
1568
  ),
@@ -1610,7 +1627,14 @@ class Namespace:
1610
1627
  (
1611
1628
  e
1612
1629
  for e in self._libraries.values()
1613
- if e.library_doc.source == entry.library_doc.source
1630
+ if (
1631
+ (
1632
+ e.library_doc.source is not None
1633
+ and entry.library_doc.source is not None
1634
+ and same_file(e.library_doc.source, entry.library_doc.source)
1635
+ )
1636
+ or (e.library_doc.source is None and entry.library_doc.source is None)
1637
+ )
1614
1638
  and e.library_doc.member_name == entry.library_doc.member_name
1615
1639
  and e.alias == entry.alias
1616
1640
  and e.args == entry.args
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: robotcode-robot
3
- Version: 0.98.0
3
+ Version: 0.99.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://opencollective.com/robotcode
@@ -25,7 +25,7 @@ Classifier: Topic :: Utilities
25
25
  Classifier: Typing :: Typed
26
26
  Requires-Python: >=3.8
27
27
  Requires-Dist: platformdirs<4.4.0,>=3.2.0
28
- Requires-Dist: robotcode-core==0.98.0
28
+ Requires-Dist: robotcode-core==0.99.0
29
29
  Requires-Dist: robotframework>=4.1.0
30
30
  Requires-Dist: tomli>=1.1.0; python_version < '3.11'
31
31
  Description-Content-Type: text/markdown
@@ -1,5 +1,5 @@
1
1
  robotcode/robot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- robotcode/robot/__version__.py,sha256=wDatk6DOlwcbppXlUNCn5v8i6SpKrbGGBYEGlrqUork,23
2
+ robotcode/robot/__version__.py,sha256=edGCadaA59-v6zz7c0FTQVXhF-FODX9Og9G1bbQCm40,23
3
3
  robotcode/robot/py.typed,sha256=bWew9mHgMy8LqMu7RuqQXFXLBxh2CRx0dUbSx-3wE48,27
4
4
  robotcode/robot/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  robotcode/robot/config/loader.py,sha256=tLPzeyHl4ELBIVSj2JtU2wVqlurouKTdfxHy0T5HxRE,8584
@@ -10,12 +10,12 @@ robotcode/robot/diagnostics/data_cache.py,sha256=Wge9HuxSUiBVMmrmlsYSMmG2ad7f3Te
10
10
  robotcode/robot/diagnostics/diagnostics_modifier.py,sha256=3dDsu8-ET6weIvv7Sk3IQaPYFNxnXUs8Y7gpGTjfOBs,9796
11
11
  robotcode/robot/diagnostics/document_cache_helper.py,sha256=n903UxVXM4Uq4fPxN5s-dugQAKcWUwf4Nw4q0CJV7aw,23902
12
12
  robotcode/robot/diagnostics/entities.py,sha256=b4u2yQN8MDg90RoTMaW7iLogiDNwOAtK180KCB94RfE,10970
13
- robotcode/robot/diagnostics/errors.py,sha256=vRH7HiZOfQIC-L7ys2Bj9ULYxLpUH7I03qJRSkEx08k,1813
13
+ robotcode/robot/diagnostics/errors.py,sha256=vp7MAB0_t9tAnnPfXcXMpUqjV6ifzPPEsfMUEseEzr8,1852
14
14
  robotcode/robot/diagnostics/imports_manager.py,sha256=jaEE7iUzEA4Rp-KXP3nfn0JyUGyp-0BMfNi8_DsQ6KE,61169
15
15
  robotcode/robot/diagnostics/keyword_finder.py,sha256=dm4BA0ccp5V4C65CkSYUJUNXegSmvG24uu09T3eL6a4,17319
16
16
  robotcode/robot/diagnostics/library_doc.py,sha256=VPCX7xp-0LJiYSFLO68y8MuNAMIYcnhJTIHRmWPpl30,100507
17
17
  robotcode/robot/diagnostics/model_helper.py,sha256=ltuUNWwZJFBmMFXIomMmW1IP5v7tMpQSoC1YbncgoNI,30985
18
- robotcode/robot/diagnostics/namespace.py,sha256=nP2Nr388yw91tkd5L6DE9Yn8lb9Y4ML6c5hFn9qq4O4,76705
18
+ robotcode/robot/diagnostics/namespace.py,sha256=uRr2TINn7xNyF9tbw_0ojnTnZj_Kr6Rid_hEz68hFP8,78197
19
19
  robotcode/robot/diagnostics/namespace_analyzer.py,sha256=MgEoEGH7FvwVYoR3wA0JEGQxMWJTUUHq10NrorJV5LY,74183
20
20
  robotcode/robot/diagnostics/workspace_config.py,sha256=gyKR5z-HpnjxPAui3YujgeZqXX7RYBO_ErGVlk7vnGc,2689
21
21
  robotcode/robot/utils/__init__.py,sha256=OjNPMn_XSnfaMCyKd8Kmq6vlRt6mIGlzW4qiiD3ykUg,447
@@ -26,7 +26,7 @@ robotcode/robot/utils/robot_path.py,sha256=Z-GVBOPA_xeD20bCJi4_AWaU0eQWvCym-YFty
26
26
  robotcode/robot/utils/stubs.py,sha256=umugZYAyneFNgqRJBRMJPzm0u0B_TH8Sx_y-ykXnxpw,351
27
27
  robotcode/robot/utils/variables.py,sha256=-ldL8mRRSYYW2pwlm8IpoDeQcG6LYBqaYyV_7U3xsIc,2174
28
28
  robotcode/robot/utils/visitor.py,sha256=nP3O0qh3YYuxR6S8wYJRBFfNwIVgsgohURBlrnFkRYQ,2299
29
- robotcode_robot-0.98.0.dist-info/METADATA,sha256=uHcW1ePx5mWUf9_sVG8Gdkc6Fr1kPyxlpmKF1Zj674c,2214
30
- robotcode_robot-0.98.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
31
- robotcode_robot-0.98.0.dist-info/licenses/LICENSE.txt,sha256=B05uMshqTA74s-0ltyHKI6yoPfJ3zYgQbvcXfDVGFf8,10280
32
- robotcode_robot-0.98.0.dist-info/RECORD,,
29
+ robotcode_robot-0.99.0.dist-info/METADATA,sha256=EoIldqp50xLr4Xk7anxZqU9o7R0OiMy4yaIMJ79I0UI,2214
30
+ robotcode_robot-0.99.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
31
+ robotcode_robot-0.99.0.dist-info/licenses/LICENSE.txt,sha256=B05uMshqTA74s-0ltyHKI6yoPfJ3zYgQbvcXfDVGFf8,10280
32
+ robotcode_robot-0.99.0.dist-info/RECORD,,