annet 0.12.4__py3-none-any.whl → 0.12.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of annet might be problematic. Click here for more details.

annet/api/__init__.py CHANGED
@@ -221,9 +221,8 @@ def log_host_progress_cb(pool: Parallel, task_result: TaskResult):
221
221
  connector = storage_connector.get()
222
222
  storage_opts = connector.opts().from_cli_opts(args)
223
223
  with connector.storage()(storage_opts) as storage:
224
- hosts = storage.resolve_fdnds_by_query(args.query)
225
- fqdn = hosts[task_result.device_id]
226
- PoolProgressLogger(device_fqdns=fqdn)(pool, task_result)
224
+ fqdns = storage.resolve_fdnds_by_query(args.query)
225
+ PoolProgressLogger(device_fqdns=fqdns)(pool, task_result)
227
226
 
228
227
 
229
228
  # =====
annet/gen.py CHANGED
@@ -378,7 +378,11 @@ def old_new(
378
378
  do_files_download=False,
379
379
  do_print_perf=True,
380
380
  ):
381
- devices = loader.devices
381
+ if device_ids is None:
382
+ devices = loader.devices
383
+ else:
384
+ devices = [loader.get_device(device_id) for device_id in device_ids]
385
+
382
386
  gens = loader.resolve_gens(devices)
383
387
  running, failed_running = _old_resolve_running(config, devices)
384
388
  downloaded_files, failed_files = _old_resolve_files(config, devices, gens, do_files_download)
@@ -819,7 +823,7 @@ class Loader:
819
823
  self._args = args
820
824
  self._storages = storages
821
825
  self._no_empty_warning = no_empty_warning
822
- self._devices_map: Dict[int, Device] = {}
826
+ self._devices_map: Dict[Any, Device] = {}
823
827
  self._gens: DeviceGenerators = DeviceGenerators()
824
828
 
825
829
  self._preload()
@@ -833,22 +837,29 @@ class Loader:
833
837
  use_mesh=not self._args.no_mesh,
834
838
  preload_extra_fields=True,
835
839
  )
840
+
836
841
  for device in devices:
837
842
  self._devices_map[device.id] = device
843
+
838
844
  self._gens.update(_old_resolve_gens(self._args, storage, devices))
839
845
  if not devices and not self._no_empty_warning:
840
846
  get_logger().error("No devices found for %s", self._args.query)
841
847
  return
842
848
 
843
849
  @property
844
- def device_fqdns(self):
850
+ def device_fqdns(self) -> Dict[Any, str]:
845
851
  return {
846
852
  device_id: d.fqdn
847
853
  for device_id, d in self._devices_map.items()
848
854
  }
849
855
 
856
+ def get_device(self, device_id: Any) -> Device:
857
+ if device_id not in self._devices_map:
858
+ raise KeyError(f"Unknown device with id {device_id}")
859
+ return self._devices_map[device_id]
860
+
850
861
  @property
851
- def device_ids(self):
862
+ def device_ids(self) -> List[Any]:
852
863
  return list(self._devices_map)
853
864
 
854
865
  @property
annet/generators/perf.py CHANGED
@@ -57,6 +57,7 @@ class GeneratorPerfMesurer:
57
57
  exc_tb=None) -> GeneratorPerf:
58
58
  total = time.monotonic() - self._start_time
59
59
  self._span_ctx.__exit__(exc_type, exc_val, exc_tb)
60
+ rt = self._gen.storage.flush_perf()
60
61
 
61
62
  meta = {}
62
63
  if tracing_connector.get().enabled:
@@ -68,7 +69,7 @@ class GeneratorPerfMesurer:
68
69
  },
69
70
  }
70
71
 
71
- self.last_result = GeneratorPerf(total=total, rt=total, meta=meta)
72
+ self.last_result = GeneratorPerf(total=total, rt=rt, meta=meta)
72
73
  return self.last_result
73
74
 
74
75
  def __enter__(self):
annet/types.py CHANGED
@@ -25,7 +25,12 @@ class GeneratorPerf:
25
25
  Рантайм статистика времени выполнения генератора
26
26
  """
27
27
 
28
- def __init__(self, total: float, rt: float, meta: Optional[Dict[str, Any]] = None):
28
+ def __init__(
29
+ self,
30
+ total: float,
31
+ rt: Optional[Dict[str, List[Dict[str, Any]]]],
32
+ meta: Optional[Dict[str, Any]] = None
33
+ ):
29
34
  self.total = total
30
35
  self.rt = rt
31
36
  self._meta = meta
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: annet
3
- Version: 0.12.4
3
+ Version: 0.12.6
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -8,7 +8,7 @@ annet/deploy.py,sha256=B8E0P_VvCrS2URjFvgmUiIkHp95g7pAWfmT34igaDeo,18893
8
8
  annet/diff.py,sha256=zLcaCnb4lZRUb7frpH1CstQ3kacRcCblZs1uLG8J5lk,3391
9
9
  annet/executor.py,sha256=bw7COJNtssuxIqbQehlHYJnkdUeYvvL8WO5B-c67XE0,19040
10
10
  annet/filtering.py,sha256=F4ZKUCU3Yb1RlL2zKdyHtVUaWPzjWF4vWyMcdygKNYk,852
11
- annet/gen.py,sha256=HCd_9GukT5OT6qm6OIi9XZH6OuGMynABeaG81gU3edU,32500
11
+ annet/gen.py,sha256=j8ldncYAGTUmuQermnAuP8lt278Mz5ubPx0JSkeGWgc,32862
12
12
  annet/hardware.py,sha256=HYPDfji_GdRn5S0_0fl4rvM7byOY9aHxG6VMAtsLaxE,1090
13
13
  annet/implicit.py,sha256=QigK4uoxvrFho2h9yFjOq1d9rLsC5xFlAU4bKkCuMWk,5139
14
14
  annet/lib.py,sha256=zQIfNBg7fAAk2BHbHAqy_McAiXhz0RqpBAcfdU-6pAA,3742
@@ -20,7 +20,7 @@ annet/storage.py,sha256=B16iUJwxKd0RWnUaogWQs0WQtiH1YCzPypSHNpBYPDM,2395
20
20
  annet/tabparser.py,sha256=ZjiI43ZVbrpMVR8qNbTbNh_U3oZ26VDc_2Y9wkkDkYA,874
21
21
  annet/text_term_format.py,sha256=CHb6viv45vmYl-SK1A1vyPHGhaEni6jVybBusaQnct8,2813
22
22
  annet/tracing.py,sha256=ndpM-au1c88uBBpOuH_z52qWZL773edYozNyys_wA68,4044
23
- annet/types.py,sha256=uHfRL3Bh6B3TyS9WfdukWKyF0fpYNdIzFB6Dgjo_Pqk,7101
23
+ annet/types.py,sha256=f2HwqoKa6AucwFwDMszoouB6m1B8n6VmdjHMktO30Kc,7175
24
24
  annet/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  annet/adapters/netbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  annet/adapters/netbox/provider.py,sha256=OM7Hq2vnMHNVBfubJvx2qJlMYm3VvKhomdLMNO8YnLQ,1024
@@ -65,7 +65,7 @@ annet/annlib/rbparser/platform.py,sha256=iyqy4A-6vUKM4j6hrOA6tsgWBXk7LcvkFrS2QHg
65
65
  annet/annlib/rbparser/syntax.py,sha256=eEUmszwPjdw57aofUYNQVcaxHPNV9yx9JNapjYY-BGM,3572
66
66
  annet/annlib/rulebook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
67
  annet/annlib/rulebook/common.py,sha256=9kCZwZpsH5UliF2OzaN9nLs2eLlz_d__4L7_oZ3SrCw,16054
68
- annet/api/__init__.py,sha256=LDl_JB_azU3v-sI5EwsJkiMDm_zZ7zYFBx8FHDW3Eag,33180
68
+ annet/api/__init__.py,sha256=nrtPSDGLk5GO6nKSXDx9PNrCyiDBCJRXuUG1ua_y9MM,33141
69
69
  annet/configs/context.yml,sha256=nt4QnzYzrG2hqmaWOUsab2wgFl-CXmFSzbto6rqqFt4,291
70
70
  annet/configs/logging.yaml,sha256=Hu42lRK248dssp9TgkbHCaZNl0E6f4IChGb0XaQnTVo,970
71
71
  annet/generators/__init__.py,sha256=ZWKdxy6XbANW8vO6Tz7TMP_5rkHHKPBiBhPK2g-NOvI,15609
@@ -74,7 +74,7 @@ annet/generators/entire.py,sha256=7WySkVaXNT3ZAiHcQ0JUKdlhGJAN8cNUxF6c7ilYnO8,29
74
74
  annet/generators/exceptions.py,sha256=GPXTBgn2xZ3Ev_bdOPlfCLGRC1kQHe_dEq88S-uyi5s,151
75
75
  annet/generators/jsonfragment.py,sha256=itHDq46B50o2-zxnEtCAPb8XKyc0-ozTe-E_MjpkfHw,4020
76
76
  annet/generators/partial.py,sha256=XI01KDA--XwjSEU33SOQCCJZRXFq5boRz1uJA8lVA1g,3502
77
- annet/generators/perf.py,sha256=M6qVosLxuvKBkcvVUR6be1Ak2wHMooUT_qgwBjfi558,2329
77
+ annet/generators/perf.py,sha256=K72ivUuXbNXrsHrLeKWhGmczGYWsB7kUDdDzqOX6j3c,2370
78
78
  annet/generators/ref.py,sha256=QVdeL8po1D0kBsVLOpCjFR81D8yNTk-kaQj5WUM4hng,438
79
79
  annet/generators/result.py,sha256=boMG4mwvitBLlHdPM8rPOqlKPrrNAqdV6NAM9wwIZHc,4765
80
80
  annet/generators/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -128,10 +128,10 @@ annet/rulebook/texts/routeros.rul,sha256=ipfxjj0mjFef6IsUlupqx4BY_Je_OUb8u_U1019
128
128
  annet_generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
129
  annet_generators/example/__init__.py,sha256=zVd8_DrXuOASrNzg2Ab94rPyvJff83L-_HppDFxnUjM,228
130
130
  annet_generators/example/lldp.py,sha256=68CLrK7vxTQQy9XIBxtywuEdBNlIlfXGYj8_wYWs5UI,1146
131
- annet-0.12.4.dist-info/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
132
- annet-0.12.4.dist-info/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
133
- annet-0.12.4.dist-info/METADATA,sha256=bLsuZdXIPwgFBlHmOJ0WaA3wH2iXHmGtncAXlru-xwc,694
134
- annet-0.12.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
135
- annet-0.12.4.dist-info/entry_points.txt,sha256=yHimujIzR2bwNIbb--MTs_GpXiAve89Egpu2LlgTEkg,119
136
- annet-0.12.4.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
137
- annet-0.12.4.dist-info/RECORD,,
131
+ annet-0.12.6.dist-info/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
132
+ annet-0.12.6.dist-info/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
133
+ annet-0.12.6.dist-info/METADATA,sha256=T6AvsDaqSWsBAZ0Q2MyGJzdyWnUhb-GtI7OV0pefjxg,694
134
+ annet-0.12.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
135
+ annet-0.12.6.dist-info/entry_points.txt,sha256=yHimujIzR2bwNIbb--MTs_GpXiAve89Egpu2LlgTEkg,119
136
+ annet-0.12.6.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
137
+ annet-0.12.6.dist-info/RECORD,,
File without changes