robotcode-robot 0.97.0__py3-none-any.whl → 0.98.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.97.0"
1
+ __version__ = "0.98.0"
@@ -44,6 +44,7 @@ from robotcode.core.lsp.types import (
44
44
  from robotcode.core.text_document import TextDocument
45
45
  from robotcode.core.uri import Uri
46
46
  from robotcode.core.utils.logging import LoggingDescriptor
47
+ from robotcode.core.utils.path import same_file
47
48
 
48
49
  from ..utils.ast import (
49
50
  range_from_node,
@@ -1242,8 +1243,37 @@ class Namespace:
1242
1243
 
1243
1244
  source = self.imports_manager.find_resource(value.name, base_dir, variables=variables)
1244
1245
 
1245
- if source in self._resources_files:
1246
+ allread_imported_resource = next(
1247
+ (
1248
+ v
1249
+ for k, v in self._resources.items()
1250
+ if v.library_doc.source is not None and same_file(v.library_doc.source, source)
1251
+ ),
1252
+ None,
1253
+ )
1254
+ if allread_imported_resource is not None:
1246
1255
  self._logger.debug(lambda: f"Resource '{value.name}' already imported.", context_name="import")
1256
+ if top_level:
1257
+ self.append_diagnostics(
1258
+ range=value.range,
1259
+ message=f"Resource '{value.name}' already imported.",
1260
+ severity=DiagnosticSeverity.INFORMATION,
1261
+ source=DIAGNOSTICS_SOURCE_NAME,
1262
+ related_information=(
1263
+ [
1264
+ DiagnosticRelatedInformation(
1265
+ location=Location(
1266
+ uri=str(Uri.from_path(allread_imported_resource.import_source)),
1267
+ range=allread_imported_resource.import_range,
1268
+ ),
1269
+ message="",
1270
+ )
1271
+ ]
1272
+ if allread_imported_resource.import_source
1273
+ else None
1274
+ ),
1275
+ code=Error.RESOURCE_ALREADY_IMPORTED,
1276
+ )
1247
1277
  return None
1248
1278
 
1249
1279
  if self.source == source:
@@ -1453,7 +1483,7 @@ class Namespace:
1453
1483
  allread_imported_resource = self._resources_files.get(entry.library_doc.source, None)
1454
1484
 
1455
1485
  if allread_imported_resource is None and entry.library_doc.source != self.source:
1456
- self._resources[entry.import_name] = entry
1486
+ self._resources[entry.library_doc.source] = entry
1457
1487
  self._resources_files[entry.library_doc.source] = entry
1458
1488
  if entry.variables:
1459
1489
  variables = self.get_suite_variables()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: robotcode-robot
3
- Version: 0.97.0
3
+ Version: 0.98.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.97.0
28
+ Requires-Dist: robotcode-core==0.98.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=4n3tdadixJ_eZgVwheQyewJFQEfb651DXkoZqfN9A3o,23
2
+ robotcode/robot/__version__.py,sha256=wDatk6DOlwcbppXlUNCn5v8i6SpKrbGGBYEGlrqUork,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
@@ -15,7 +15,7 @@ robotcode/robot/diagnostics/imports_manager.py,sha256=jaEE7iUzEA4Rp-KXP3nfn0JyUG
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=lJOkaS_yCp8SVhURqh5NqAsm394s0cHZUMQwVeh9nno,75159
18
+ robotcode/robot/diagnostics/namespace.py,sha256=nP2Nr388yw91tkd5L6DE9Yn8lb9Y4ML6c5hFn9qq4O4,76705
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.97.0.dist-info/METADATA,sha256=ZH34rvGP5O_-ihAJedp0f682Q7DOkNVFoT8s9n9wUeo,2214
30
- robotcode_robot-0.97.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
31
- robotcode_robot-0.97.0.dist-info/licenses/LICENSE.txt,sha256=B05uMshqTA74s-0ltyHKI6yoPfJ3zYgQbvcXfDVGFf8,10280
32
- robotcode_robot-0.97.0.dist-info/RECORD,,
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,,