annet 0.16.20__tar.gz → 0.16.21__tar.gz

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.

Files changed (180) hide show
  1. {annet-0.16.20/annet.egg-info → annet-0.16.21}/PKG-INFO +1 -1
  2. {annet-0.16.20 → annet-0.16.21}/annet/annlib/tabparser.py +12 -1
  3. {annet-0.16.20 → annet-0.16.21}/annet/tabparser.py +4 -1
  4. {annet-0.16.20 → annet-0.16.21/annet.egg-info}/PKG-INFO +1 -1
  5. {annet-0.16.20 → annet-0.16.21}/AUTHORS +0 -0
  6. {annet-0.16.20 → annet-0.16.21}/LICENSE +0 -0
  7. {annet-0.16.20 → annet-0.16.21}/MANIFEST.in +0 -0
  8. {annet-0.16.20 → annet-0.16.21}/README.md +0 -0
  9. {annet-0.16.20 → annet-0.16.21}/annet/__init__.py +0 -0
  10. {annet-0.16.20 → annet-0.16.21}/annet/adapters/__init__.py +0 -0
  11. {annet-0.16.20 → annet-0.16.21}/annet/adapters/fetchers/__init__.py +0 -0
  12. {annet-0.16.20 → annet-0.16.21}/annet/adapters/fetchers/stub/__init__.py +0 -0
  13. {annet-0.16.20 → annet-0.16.21}/annet/adapters/fetchers/stub/fetcher.py +0 -0
  14. {annet-0.16.20 → annet-0.16.21}/annet/adapters/file/__init__.py +0 -0
  15. {annet-0.16.20 → annet-0.16.21}/annet/adapters/file/provider.py +0 -0
  16. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/__init__.py +0 -0
  17. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/__init__.py +0 -0
  18. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/client.py +0 -0
  19. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/manufacturer.py +0 -0
  20. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/models.py +0 -0
  21. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/query.py +0 -0
  22. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/status_client.py +0 -0
  23. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/common/storage_opts.py +0 -0
  24. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/provider.py +0 -0
  25. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/v24/__init__.py +0 -0
  26. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/v24/storage.py +0 -0
  27. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/v37/__init__.py +0 -0
  28. {annet-0.16.20 → annet-0.16.21}/annet/adapters/netbox/v37/storage.py +0 -0
  29. {annet-0.16.20 → annet-0.16.21}/annet/annet.py +0 -0
  30. {annet-0.16.20 → annet-0.16.21}/annet/annlib/__init__.py +0 -0
  31. {annet-0.16.20 → annet-0.16.21}/annet/annlib/command.py +0 -0
  32. {annet-0.16.20 → annet-0.16.21}/annet/annlib/diff.py +0 -0
  33. {annet-0.16.20 → annet-0.16.21}/annet/annlib/errors.py +0 -0
  34. {annet-0.16.20 → annet-0.16.21}/annet/annlib/filter_acl.py +0 -0
  35. {annet-0.16.20 → annet-0.16.21}/annet/annlib/jsontools.py +0 -0
  36. {annet-0.16.20 → annet-0.16.21}/annet/annlib/lib.py +0 -0
  37. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/__init__.py +0 -0
  38. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/db.py +0 -0
  39. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/devdb/__init__.py +0 -0
  40. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/devdb/data/devdb.json +0 -0
  41. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/views/__init__.py +0 -0
  42. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/views/dump.py +0 -0
  43. {annet-0.16.20 → annet-0.16.21}/annet/annlib/netdev/views/hardware.py +0 -0
  44. {annet-0.16.20 → annet-0.16.21}/annet/annlib/output.py +0 -0
  45. {annet-0.16.20 → annet-0.16.21}/annet/annlib/patching.py +0 -0
  46. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/__init__.py +0 -0
  47. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/acl.py +0 -0
  48. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/deploying.py +0 -0
  49. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/ordering.py +0 -0
  50. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/platform.py +0 -0
  51. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rbparser/syntax.py +0 -0
  52. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rulebook/__init__.py +0 -0
  53. {annet-0.16.20 → annet-0.16.21}/annet/annlib/rulebook/common.py +0 -0
  54. {annet-0.16.20 → annet-0.16.21}/annet/annlib/types.py +0 -0
  55. {annet-0.16.20 → annet-0.16.21}/annet/api/__init__.py +0 -0
  56. {annet-0.16.20 → annet-0.16.21}/annet/argparse.py +0 -0
  57. {annet-0.16.20 → annet-0.16.21}/annet/bgp_models.py +0 -0
  58. {annet-0.16.20 → annet-0.16.21}/annet/cli.py +0 -0
  59. {annet-0.16.20 → annet-0.16.21}/annet/cli_args.py +0 -0
  60. {annet-0.16.20 → annet-0.16.21}/annet/configs/context.yml +0 -0
  61. {annet-0.16.20 → annet-0.16.21}/annet/configs/logging.yaml +0 -0
  62. {annet-0.16.20 → annet-0.16.21}/annet/connectors.py +0 -0
  63. {annet-0.16.20 → annet-0.16.21}/annet/deploy.py +0 -0
  64. {annet-0.16.20 → annet-0.16.21}/annet/diff.py +0 -0
  65. {annet-0.16.20 → annet-0.16.21}/annet/executor.py +0 -0
  66. {annet-0.16.20 → annet-0.16.21}/annet/filtering.py +0 -0
  67. {annet-0.16.20 → annet-0.16.21}/annet/gen.py +0 -0
  68. {annet-0.16.20 → annet-0.16.21}/annet/generators/__init__.py +0 -0
  69. {annet-0.16.20 → annet-0.16.21}/annet/generators/base.py +0 -0
  70. {annet-0.16.20 → annet-0.16.21}/annet/generators/common/__init__.py +0 -0
  71. {annet-0.16.20 → annet-0.16.21}/annet/generators/common/initial.py +0 -0
  72. {annet-0.16.20 → annet-0.16.21}/annet/generators/entire.py +0 -0
  73. {annet-0.16.20 → annet-0.16.21}/annet/generators/exceptions.py +0 -0
  74. {annet-0.16.20 → annet-0.16.21}/annet/generators/jsonfragment.py +0 -0
  75. {annet-0.16.20 → annet-0.16.21}/annet/generators/partial.py +0 -0
  76. {annet-0.16.20 → annet-0.16.21}/annet/generators/perf.py +0 -0
  77. {annet-0.16.20 → annet-0.16.21}/annet/generators/ref.py +0 -0
  78. {annet-0.16.20 → annet-0.16.21}/annet/generators/result.py +0 -0
  79. {annet-0.16.20 → annet-0.16.21}/annet/hardware.py +0 -0
  80. {annet-0.16.20 → annet-0.16.21}/annet/implicit.py +0 -0
  81. {annet-0.16.20 → annet-0.16.21}/annet/lib.py +0 -0
  82. {annet-0.16.20 → annet-0.16.21}/annet/mesh/__init__.py +0 -0
  83. {annet-0.16.20 → annet-0.16.21}/annet/mesh/basemodel.py +0 -0
  84. {annet-0.16.20 → annet-0.16.21}/annet/mesh/device_models.py +0 -0
  85. {annet-0.16.20 → annet-0.16.21}/annet/mesh/executor.py +0 -0
  86. {annet-0.16.20 → annet-0.16.21}/annet/mesh/match_args.py +0 -0
  87. {annet-0.16.20 → annet-0.16.21}/annet/mesh/models_converter.py +0 -0
  88. {annet-0.16.20 → annet-0.16.21}/annet/mesh/peer_models.py +0 -0
  89. {annet-0.16.20 → annet-0.16.21}/annet/mesh/registry.py +0 -0
  90. {annet-0.16.20 → annet-0.16.21}/annet/output.py +0 -0
  91. {annet-0.16.20 → annet-0.16.21}/annet/parallel.py +0 -0
  92. {annet-0.16.20 → annet-0.16.21}/annet/patching.py +0 -0
  93. {annet-0.16.20 → annet-0.16.21}/annet/reference.py +0 -0
  94. {annet-0.16.20 → annet-0.16.21}/annet/rpl/__init__.py +0 -0
  95. {annet-0.16.20 → annet-0.16.21}/annet/rpl/action.py +0 -0
  96. {annet-0.16.20 → annet-0.16.21}/annet/rpl/condition.py +0 -0
  97. {annet-0.16.20 → annet-0.16.21}/annet/rpl/match_builder.py +0 -0
  98. {annet-0.16.20 → annet-0.16.21}/annet/rpl/policy.py +0 -0
  99. {annet-0.16.20 → annet-0.16.21}/annet/rpl/result.py +0 -0
  100. {annet-0.16.20 → annet-0.16.21}/annet/rpl/routemap.py +0 -0
  101. {annet-0.16.20 → annet-0.16.21}/annet/rpl/statement_builder.py +0 -0
  102. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/__init__.py +0 -0
  103. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/arista/__init__.py +0 -0
  104. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/arista/iface.py +0 -0
  105. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/aruba/__init__.py +0 -0
  106. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/aruba/ap_env.py +0 -0
  107. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/aruba/misc.py +0 -0
  108. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/b4com/__init__.py +0 -0
  109. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/b4com/file.py +0 -0
  110. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/cisco/__init__.py +0 -0
  111. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/cisco/iface.py +0 -0
  112. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/cisco/misc.py +0 -0
  113. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/cisco/vlandb.py +0 -0
  114. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/common.py +0 -0
  115. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/deploying.py +0 -0
  116. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/__init__.py +0 -0
  117. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/aaa.py +0 -0
  118. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/bgp.py +0 -0
  119. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/iface.py +0 -0
  120. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/misc.py +0 -0
  121. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/huawei/vlandb.py +0 -0
  122. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/juniper/__init__.py +0 -0
  123. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/nexus/__init__.py +0 -0
  124. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/nexus/iface.py +0 -0
  125. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/patching.py +0 -0
  126. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/ribbon/__init__.py +0 -0
  127. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/routeros/__init__.py +0 -0
  128. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/routeros/file.py +0 -0
  129. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/arista.deploy +0 -0
  130. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/arista.order +0 -0
  131. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/arista.rul +0 -0
  132. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/aruba.deploy +0 -0
  133. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/aruba.order +0 -0
  134. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/aruba.rul +0 -0
  135. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/b4com.deploy +0 -0
  136. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/b4com.order +0 -0
  137. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/b4com.rul +0 -0
  138. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/cisco.deploy +0 -0
  139. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/cisco.order +0 -0
  140. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/cisco.rul +0 -0
  141. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/huawei.deploy +0 -0
  142. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/huawei.order +0 -0
  143. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/huawei.rul +0 -0
  144. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/juniper.rul +0 -0
  145. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/nexus.deploy +0 -0
  146. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/nexus.order +0 -0
  147. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/nexus.rul +0 -0
  148. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/nokia.rul +0 -0
  149. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/optixtrans.deploy +0 -0
  150. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/optixtrans.order +0 -0
  151. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/optixtrans.rul +0 -0
  152. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/pc.deploy +0 -0
  153. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/pc.order +0 -0
  154. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/pc.rul +0 -0
  155. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/ribbon.deploy +0 -0
  156. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/ribbon.rul +0 -0
  157. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/routeros.order +0 -0
  158. {annet-0.16.20 → annet-0.16.21}/annet/rulebook/texts/routeros.rul +0 -0
  159. {annet-0.16.20 → annet-0.16.21}/annet/storage.py +0 -0
  160. {annet-0.16.20 → annet-0.16.21}/annet/text_term_format.py +0 -0
  161. {annet-0.16.20 → annet-0.16.21}/annet/tracing.py +0 -0
  162. {annet-0.16.20 → annet-0.16.21}/annet/types.py +0 -0
  163. {annet-0.16.20 → annet-0.16.21}/annet.egg-info/SOURCES.txt +0 -0
  164. {annet-0.16.20 → annet-0.16.21}/annet.egg-info/dependency_links.txt +0 -0
  165. {annet-0.16.20 → annet-0.16.21}/annet.egg-info/entry_points.txt +0 -0
  166. {annet-0.16.20 → annet-0.16.21}/annet.egg-info/requires.txt +0 -0
  167. {annet-0.16.20 → annet-0.16.21}/annet.egg-info/top_level.txt +0 -0
  168. {annet-0.16.20 → annet-0.16.21}/annet_generators/__init__.py +0 -0
  169. {annet-0.16.20 → annet-0.16.21}/annet_generators/example/__init__.py +0 -0
  170. {annet-0.16.20 → annet-0.16.21}/annet_generators/example/lldp.py +0 -0
  171. {annet-0.16.20 → annet-0.16.21}/annet_generators/mesh_example/__init__.py +0 -0
  172. {annet-0.16.20 → annet-0.16.21}/annet_generators/mesh_example/bgp.py +0 -0
  173. {annet-0.16.20 → annet-0.16.21}/annet_generators/mesh_example/mesh_logic.py +0 -0
  174. {annet-0.16.20 → annet-0.16.21}/annet_generators/rpl_example/__init__.py +0 -0
  175. {annet-0.16.20 → annet-0.16.21}/annet_generators/rpl_example/items.py +0 -0
  176. {annet-0.16.20 → annet-0.16.21}/annet_generators/rpl_example/policy_generator.py +0 -0
  177. {annet-0.16.20 → annet-0.16.21}/annet_generators/rpl_example/route_policy.py +0 -0
  178. {annet-0.16.20 → annet-0.16.21}/requirements.txt +0 -0
  179. {annet-0.16.20 → annet-0.16.21}/setup.cfg +0 -0
  180. {annet-0.16.20 → annet-0.16.21}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: annet
3
- Version: 0.16.20
3
+ Version: 0.16.21
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -330,6 +330,17 @@ class CiscoFormatter(BlockExitFormatter):
330
330
  yield from super().block_exit(context)
331
331
 
332
332
 
333
+ class AristaFormatter(CiscoFormatter):
334
+
335
+ def block_exit(self, context: Optional[FormatterContext]) -> str:
336
+ current = context and context.row or ""
337
+
338
+ if current.startswith(("address-family")):
339
+ yield from block_wrapper("exit")
340
+ else:
341
+ yield from super().block_exit(context)
342
+
343
+
333
344
  class AsrFormatter(BlockExitFormatter):
334
345
  def __init__(self, indent=" "):
335
346
  super().__init__("exit", indent)
@@ -705,7 +716,7 @@ def make_formatter(vendor, **kwargs):
705
716
  "nexus": CiscoFormatter,
706
717
  "huawei": HuaweiFormatter,
707
718
  "optixtrans": OptixtransFormatter,
708
- "arista": CiscoFormatter,
719
+ "arista": AristaFormatter,
709
720
  "nokia": NokiaFormatter,
710
721
  "routeros": RosFormatter,
711
722
  "aruba": CiscoFormatter,
@@ -11,6 +11,7 @@ from annet.annlib.tabparser import ( # pylint: disable=unused-import
11
11
  RibbonFormatter,
12
12
  RosFormatter,
13
13
  parse_to_tree,
14
+ AristaFormatter,
14
15
  )
15
16
 
16
17
 
@@ -21,7 +22,7 @@ def make_formatter(hw, **kwargs):
21
22
  cls = HuaweiFormatter
22
23
  elif hw.Cisco.ASR or hw.Cisco.XRV:
23
24
  cls = AsrFormatter
24
- elif hw.Nexus or hw.Cisco or hw.Arista or hw.Aruba or hw.B4com:
25
+ elif hw.Nexus or hw.Cisco or hw.Aruba or hw.B4com:
25
26
  cls = CiscoFormatter
26
27
  elif hw.Juniper:
27
28
  cls = JuniperFormatter
@@ -35,6 +36,8 @@ def make_formatter(hw, **kwargs):
35
36
  cls = RibbonFormatter
36
37
  elif hw.H3C:
37
38
  cls = HuaweiFormatter
39
+ elif hw.Arista:
40
+ cls = AristaFormatter
38
41
  else:
39
42
  raise NotImplementedError("Unknown formatter for hw '%s'" % hw)
40
43
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: annet
3
- Version: 0.16.20
3
+ Version: 0.16.21
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes