annet 3.14.4__tar.gz → 3.15.0__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 (227) hide show
  1. {annet-3.14.4/annet.egg-info → annet-3.15.0}/PKG-INFO +1 -1
  2. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/syntax.py +7 -9
  3. {annet-3.14.4 → annet-3.15.0}/annet/implicit.py +11 -4
  4. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/patching.py +4 -1
  5. {annet-3.14.4 → annet-3.15.0/annet.egg-info}/PKG-INFO +1 -1
  6. {annet-3.14.4 → annet-3.15.0}/AUTHORS +0 -0
  7. {annet-3.14.4 → annet-3.15.0}/LICENSE +0 -0
  8. {annet-3.14.4 → annet-3.15.0}/MANIFEST.in +0 -0
  9. {annet-3.14.4 → annet-3.15.0}/README.md +0 -0
  10. {annet-3.14.4 → annet-3.15.0}/annet/__init__.py +0 -0
  11. {annet-3.14.4 → annet-3.15.0}/annet/adapters/__init__.py +0 -0
  12. {annet-3.14.4 → annet-3.15.0}/annet/adapters/fetchers/__init__.py +0 -0
  13. {annet-3.14.4 → annet-3.15.0}/annet/adapters/fetchers/stub/__init__.py +0 -0
  14. {annet-3.14.4 → annet-3.15.0}/annet/adapters/fetchers/stub/fetcher.py +0 -0
  15. {annet-3.14.4 → annet-3.15.0}/annet/adapters/file/__init__.py +0 -0
  16. {annet-3.14.4 → annet-3.15.0}/annet/adapters/file/provider.py +0 -0
  17. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/__init__.py +0 -0
  18. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/__init__.py +0 -0
  19. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/adapter.py +0 -0
  20. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/client.py +0 -0
  21. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/manufacturer.py +0 -0
  22. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/models.py +0 -0
  23. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/query.py +0 -0
  24. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/status_client.py +0 -0
  25. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/storage_base.py +0 -0
  26. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/common/storage_opts.py +0 -0
  27. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/provider.py +0 -0
  28. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v24/__init__.py +0 -0
  29. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v24/models.py +0 -0
  30. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v24/storage.py +0 -0
  31. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v37/__init__.py +0 -0
  32. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v37/models.py +0 -0
  33. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v37/storage.py +0 -0
  34. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v41/__init__.py +0 -0
  35. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v41/models.py +0 -0
  36. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v41/storage.py +0 -0
  37. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v42/__init__.py +0 -0
  38. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v42/models.py +0 -0
  39. {annet-3.14.4 → annet-3.15.0}/annet/adapters/netbox/v42/storage.py +0 -0
  40. {annet-3.14.4 → annet-3.15.0}/annet/annet.py +0 -0
  41. {annet-3.14.4 → annet-3.15.0}/annet/annlib/__init__.py +0 -0
  42. {annet-3.14.4 → annet-3.15.0}/annet/annlib/command.py +0 -0
  43. {annet-3.14.4 → annet-3.15.0}/annet/annlib/diff.py +0 -0
  44. {annet-3.14.4 → annet-3.15.0}/annet/annlib/errors.py +0 -0
  45. {annet-3.14.4 → annet-3.15.0}/annet/annlib/filter_acl.py +0 -0
  46. {annet-3.14.4 → annet-3.15.0}/annet/annlib/jsontools.py +0 -0
  47. {annet-3.14.4 → annet-3.15.0}/annet/annlib/lib.py +0 -0
  48. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/__init__.py +0 -0
  49. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/db.py +0 -0
  50. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/devdb/__init__.py +0 -0
  51. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/devdb/data/devdb.json +0 -0
  52. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/views/__init__.py +0 -0
  53. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/views/dump.py +0 -0
  54. {annet-3.14.4 → annet-3.15.0}/annet/annlib/netdev/views/hardware.py +0 -0
  55. {annet-3.14.4 → annet-3.15.0}/annet/annlib/output.py +0 -0
  56. {annet-3.14.4 → annet-3.15.0}/annet/annlib/patching.py +0 -0
  57. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/__init__.py +0 -0
  58. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/acl.py +0 -0
  59. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/deploying.py +0 -0
  60. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/ordering.py +0 -0
  61. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rbparser/platform.py +0 -0
  62. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rulebook/__init__.py +0 -0
  63. {annet-3.14.4 → annet-3.15.0}/annet/annlib/rulebook/common.py +0 -0
  64. {annet-3.14.4 → annet-3.15.0}/annet/annlib/types.py +0 -0
  65. {annet-3.14.4 → annet-3.15.0}/annet/api/__init__.py +0 -0
  66. {annet-3.14.4 → annet-3.15.0}/annet/argparse.py +0 -0
  67. {annet-3.14.4 → annet-3.15.0}/annet/bgp_models.py +0 -0
  68. {annet-3.14.4 → annet-3.15.0}/annet/cli.py +0 -0
  69. {annet-3.14.4 → annet-3.15.0}/annet/cli_args.py +0 -0
  70. {annet-3.14.4 → annet-3.15.0}/annet/configs/context.yml +0 -0
  71. {annet-3.14.4 → annet-3.15.0}/annet/configs/logging.yaml +0 -0
  72. {annet-3.14.4 → annet-3.15.0}/annet/connectors.py +0 -0
  73. {annet-3.14.4 → annet-3.15.0}/annet/deploy.py +0 -0
  74. {annet-3.14.4 → annet-3.15.0}/annet/deploy_ui.py +0 -0
  75. {annet-3.14.4 → annet-3.15.0}/annet/diff.py +0 -0
  76. {annet-3.14.4 → annet-3.15.0}/annet/filtering.py +0 -0
  77. {annet-3.14.4 → annet-3.15.0}/annet/gen.py +0 -0
  78. {annet-3.14.4 → annet-3.15.0}/annet/generators/__init__.py +0 -0
  79. {annet-3.14.4 → annet-3.15.0}/annet/generators/base.py +0 -0
  80. {annet-3.14.4 → annet-3.15.0}/annet/generators/common/__init__.py +0 -0
  81. {annet-3.14.4 → annet-3.15.0}/annet/generators/common/initial.py +0 -0
  82. {annet-3.14.4 → annet-3.15.0}/annet/generators/entire.py +0 -0
  83. {annet-3.14.4 → annet-3.15.0}/annet/generators/exceptions.py +0 -0
  84. {annet-3.14.4 → annet-3.15.0}/annet/generators/jsonfragment.py +0 -0
  85. {annet-3.14.4 → annet-3.15.0}/annet/generators/partial.py +0 -0
  86. {annet-3.14.4 → annet-3.15.0}/annet/generators/perf.py +0 -0
  87. {annet-3.14.4 → annet-3.15.0}/annet/generators/ref.py +0 -0
  88. {annet-3.14.4 → annet-3.15.0}/annet/generators/result.py +0 -0
  89. {annet-3.14.4 → annet-3.15.0}/annet/hardware.py +0 -0
  90. {annet-3.14.4 → annet-3.15.0}/annet/lib.py +0 -0
  91. {annet-3.14.4 → annet-3.15.0}/annet/mesh/__init__.py +0 -0
  92. {annet-3.14.4 → annet-3.15.0}/annet/mesh/basemodel.py +0 -0
  93. {annet-3.14.4 → annet-3.15.0}/annet/mesh/device_models.py +0 -0
  94. {annet-3.14.4 → annet-3.15.0}/annet/mesh/executor.py +0 -0
  95. {annet-3.14.4 → annet-3.15.0}/annet/mesh/match_args.py +0 -0
  96. {annet-3.14.4 → annet-3.15.0}/annet/mesh/models_converter.py +0 -0
  97. {annet-3.14.4 → annet-3.15.0}/annet/mesh/peer_models.py +0 -0
  98. {annet-3.14.4 → annet-3.15.0}/annet/mesh/port_processor.py +0 -0
  99. {annet-3.14.4 → annet-3.15.0}/annet/mesh/registry.py +0 -0
  100. {annet-3.14.4 → annet-3.15.0}/annet/output.py +0 -0
  101. {annet-3.14.4 → annet-3.15.0}/annet/parallel.py +0 -0
  102. {annet-3.14.4 → annet-3.15.0}/annet/patching.py +0 -0
  103. {annet-3.14.4 → annet-3.15.0}/annet/reference.py +0 -0
  104. {annet-3.14.4 → annet-3.15.0}/annet/rpl/__init__.py +0 -0
  105. {annet-3.14.4 → annet-3.15.0}/annet/rpl/action.py +0 -0
  106. {annet-3.14.4 → annet-3.15.0}/annet/rpl/condition.py +0 -0
  107. {annet-3.14.4 → annet-3.15.0}/annet/rpl/match_builder.py +0 -0
  108. {annet-3.14.4 → annet-3.15.0}/annet/rpl/policy.py +0 -0
  109. {annet-3.14.4 → annet-3.15.0}/annet/rpl/result.py +0 -0
  110. {annet-3.14.4 → annet-3.15.0}/annet/rpl/routemap.py +0 -0
  111. {annet-3.14.4 → annet-3.15.0}/annet/rpl/statement_builder.py +0 -0
  112. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/__init__.py +0 -0
  113. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/aspath.py +0 -0
  114. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/community.py +0 -0
  115. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/cumulus_frr.py +0 -0
  116. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/entities.py +0 -0
  117. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/execute.py +0 -0
  118. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/policy.py +0 -0
  119. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/prefix_lists.py +0 -0
  120. {annet-3.14.4 → annet-3.15.0}/annet/rpl_generators/rd.py +0 -0
  121. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/__init__.py +0 -0
  122. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/arista/__init__.py +0 -0
  123. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/arista/aaa.py +0 -0
  124. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/arista/iface.py +0 -0
  125. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/aruba/__init__.py +0 -0
  126. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/aruba/ap_env.py +0 -0
  127. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/aruba/misc.py +0 -0
  128. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/b4com/__init__.py +0 -0
  129. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/b4com/file.py +0 -0
  130. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/b4com/iface.py +0 -0
  131. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/cisco/__init__.py +0 -0
  132. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/cisco/iface.py +0 -0
  133. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/cisco/misc.py +0 -0
  134. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/cisco/vlandb.py +0 -0
  135. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/common.py +0 -0
  136. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/deploying.py +0 -0
  137. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/generic/__init__.py +0 -0
  138. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/generic/misc.py +0 -0
  139. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/__init__.py +0 -0
  140. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/aaa.py +0 -0
  141. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/bgp.py +0 -0
  142. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/iface.py +0 -0
  143. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/misc.py +0 -0
  144. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/huawei/vlandb.py +0 -0
  145. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/juniper/__init__.py +0 -0
  146. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/juniper/iface.py +0 -0
  147. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/nexus/__init__.py +0 -0
  148. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/nexus/iface.py +0 -0
  149. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/routeros/__init__.py +0 -0
  150. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/routeros/file.py +0 -0
  151. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/arista.deploy +0 -0
  152. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/arista.order +0 -0
  153. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/arista.rul +0 -0
  154. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/aruba.deploy +0 -0
  155. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/aruba.order +0 -0
  156. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/aruba.rul +0 -0
  157. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/b4com.deploy +0 -0
  158. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/b4com.order +0 -0
  159. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/b4com.rul +0 -0
  160. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/cisco.deploy +0 -0
  161. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/cisco.order +0 -0
  162. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/cisco.rul +0 -0
  163. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/huawei.deploy +0 -0
  164. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/huawei.order +0 -0
  165. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/huawei.rul +0 -0
  166. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/iosxr.deploy +0 -0
  167. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/iosxr.order +0 -0
  168. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/iosxr.rul +0 -0
  169. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/juniper.order +0 -0
  170. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/juniper.rul +0 -0
  171. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/nexus.deploy +0 -0
  172. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/nexus.order +0 -0
  173. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/nexus.rul +0 -0
  174. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/nokia.rul +0 -0
  175. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/optixtrans.deploy +0 -0
  176. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/optixtrans.order +0 -0
  177. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/optixtrans.rul +0 -0
  178. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/pc.deploy +0 -0
  179. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/pc.order +0 -0
  180. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/pc.rul +0 -0
  181. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/ribbon.deploy +0 -0
  182. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/ribbon.rul +0 -0
  183. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/routeros.order +0 -0
  184. {annet-3.14.4 → annet-3.15.0}/annet/rulebook/texts/routeros.rul +0 -0
  185. {annet-3.14.4 → annet-3.15.0}/annet/storage.py +0 -0
  186. {annet-3.14.4 → annet-3.15.0}/annet/text_term_format.py +0 -0
  187. {annet-3.14.4 → annet-3.15.0}/annet/tracing.py +0 -0
  188. {annet-3.14.4 → annet-3.15.0}/annet/types.py +0 -0
  189. {annet-3.14.4 → annet-3.15.0}/annet/vendors/__init__.py +0 -0
  190. {annet-3.14.4 → annet-3.15.0}/annet/vendors/base.py +0 -0
  191. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/__init__.py +0 -0
  192. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/arista.py +0 -0
  193. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/aruba.py +0 -0
  194. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/b4com.py +0 -0
  195. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/cisco.py +0 -0
  196. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/h3c.py +0 -0
  197. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/huawei.py +0 -0
  198. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/iosxr.py +0 -0
  199. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/juniper.py +0 -0
  200. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/nexus.py +0 -0
  201. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/nokia.py +0 -0
  202. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/optixtrans.py +0 -0
  203. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/pc.py +0 -0
  204. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/ribbon.py +0 -0
  205. {annet-3.14.4 → annet-3.15.0}/annet/vendors/library/routeros.py +0 -0
  206. {annet-3.14.4 → annet-3.15.0}/annet/vendors/registry.py +0 -0
  207. {annet-3.14.4 → annet-3.15.0}/annet/vendors/tabparser.py +0 -0
  208. {annet-3.14.4 → annet-3.15.0}/annet.egg-info/SOURCES.txt +0 -0
  209. {annet-3.14.4 → annet-3.15.0}/annet.egg-info/dependency_links.txt +0 -0
  210. {annet-3.14.4 → annet-3.15.0}/annet.egg-info/entry_points.txt +0 -0
  211. {annet-3.14.4 → annet-3.15.0}/annet.egg-info/requires.txt +0 -0
  212. {annet-3.14.4 → annet-3.15.0}/annet.egg-info/top_level.txt +0 -0
  213. {annet-3.14.4 → annet-3.15.0}/annet_generators/__init__.py +0 -0
  214. {annet-3.14.4 → annet-3.15.0}/annet_generators/example/__init__.py +0 -0
  215. {annet-3.14.4 → annet-3.15.0}/annet_generators/example/hostname.py +0 -0
  216. {annet-3.14.4 → annet-3.15.0}/annet_generators/example/lldp.py +0 -0
  217. {annet-3.14.4 → annet-3.15.0}/annet_generators/mesh_example/__init__.py +0 -0
  218. {annet-3.14.4 → annet-3.15.0}/annet_generators/mesh_example/bgp.py +0 -0
  219. {annet-3.14.4 → annet-3.15.0}/annet_generators/mesh_example/mesh_logic.py +0 -0
  220. {annet-3.14.4 → annet-3.15.0}/annet_generators/rpl_example/__init__.py +0 -0
  221. {annet-3.14.4 → annet-3.15.0}/annet_generators/rpl_example/generator.py +0 -0
  222. {annet-3.14.4 → annet-3.15.0}/annet_generators/rpl_example/items.py +0 -0
  223. {annet-3.14.4 → annet-3.15.0}/annet_generators/rpl_example/mesh.py +0 -0
  224. {annet-3.14.4 → annet-3.15.0}/annet_generators/rpl_example/route_policy.py +0 -0
  225. {annet-3.14.4 → annet-3.15.0}/requirements.txt +0 -0
  226. {annet-3.14.4 → annet-3.15.0}/setup.cfg +0 -0
  227. {annet-3.14.4 → annet-3.15.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.14.4
3
+ Version: 3.15.0
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -52,13 +52,14 @@ def _parse_tree_with_params(raw_tree, scheme, context=None):
52
52
  for (raw_rule, children) in raw_tree.items():
53
53
  (row, params) = _parse_raw_rule(raw_rule, scheme)
54
54
  row_type = "normal"
55
+
55
56
  if row.startswith("!"):
56
57
  row = row[1:].strip()
57
58
  if len(row) == 0:
58
59
  continue
59
60
  row_type = "ignore"
60
- elif row.startswith(r"%context="):
61
- context = _parse_context(context, row)
61
+ elif context_raw := params.get("context"):
62
+ context = _parse_context(context, context_raw)
62
63
  continue
63
64
  tree[raw_rule] = {
64
65
  "row": row,
@@ -75,8 +76,8 @@ def _parse_raw_rule(raw_rule, scheme):
75
76
  try:
76
77
  index = raw_rule.index("%")
77
78
  params = {
78
- key: (value if len(value) != 0 else "1")
79
- for (key, value) in re.findall(r"\s%([a-zA-Z_]\w*)(?:=([^\s]*))?", raw_rule)
79
+ key: (value.strip() if len(value.strip()) != 0 else "1")
80
+ for (key, value) in re.findall(r"%([a-zA-Z_]\w*)(?:=([^%]*))?", raw_rule[index:])
80
81
  }
81
82
  if params:
82
83
  raw_rule = raw_rule[:index].strip()
@@ -85,7 +86,7 @@ def _parse_raw_rule(raw_rule, scheme):
85
86
 
86
87
  row = re.sub(r"\s+", " ", raw_rule.strip())
87
88
  params = _fill_and_validate(params, scheme, raw_rule)
88
- return (row, params)
89
+ return row, params
89
90
 
90
91
 
91
92
  def _fill_and_validate(params, scheme, raw_rule):
@@ -109,8 +110,5 @@ def match_context(ifcontext, context):
109
110
 
110
111
 
111
112
  def _parse_context(context, row):
112
- keyword = r"%context="
113
- if not row.startswith(keyword):
114
- raise ValueError(row)
115
- name, value = row[len(keyword):].strip().split(":")
113
+ name, value = row.strip().split(":")
116
114
  return lib.merge_dicts(context, {name: value})
@@ -25,7 +25,7 @@ def compile_tree(tree):
25
25
  rule = {
26
26
  "type": attrs["type"],
27
27
  "children": compile_tree(attrs["children"]) if attrs.get("children") else odict(),
28
- "regexp": syntax.compile_row_regexp(attrs["row"]),
28
+ "regexp": attrs["params"]["regexp"] or syntax.compile_row_regexp(attrs["row"]),
29
29
  }
30
30
  rules[attrs["row"]] = rule
31
31
  return rules
@@ -66,13 +66,14 @@ def _implicit_tree(device):
66
66
  elif device.hw.Huawei.Quidway.S5700.S5735I:
67
67
  text = """
68
68
  !interface *
69
- !port link-type access
69
+ port link-type access %regexp=port link-type .*
70
70
  interface NULL0
71
71
  """
72
72
  elif device.hw.Huawei.Quidway.S2x:
73
73
  text = """
74
74
  !interface *
75
- !port link-type hybrid
75
+ port link-type hybrid %regexp=port link-type .*
76
+ dot1x enable
76
77
  interface NULL0
77
78
  """
78
79
  else:
@@ -179,8 +180,14 @@ def _implicit_tree(device):
179
180
  system mtu routing 1500
180
181
  system mtu jumbo 9000
181
182
  """
183
+
182
184
  return parse_text(text)
183
185
 
184
186
 
185
187
  def parse_text(text):
186
- return syntax.parse_text(text, {})
188
+ return syntax.parse_text(text, {
189
+ "regexp": {
190
+ "default": None,
191
+ "validator": lambda x: syntax.compile_row_regexp(x),
192
+ },
193
+ })
@@ -18,7 +18,6 @@ MULTILINE_DIFF_LOGIC = "common.multiline_diff"
18
18
  # =====
19
19
  @functools.lru_cache()
20
20
  def compile_patching_text(text, vendor):
21
-
22
21
  return _compile_patching(
23
22
  tree=syntax.parse_text(text, params_scheme={
24
23
  "global": {
@@ -45,6 +44,10 @@ def compile_patching_text(text, vendor):
45
44
  "validator": valid_bool,
46
45
  "default": False,
47
46
  },
47
+ "context": {
48
+ "validator": str,
49
+ "default": None,
50
+ },
48
51
  "rewrite": {
49
52
  "validator": valid_bool,
50
53
  "default": False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.14.4
3
+ Version: 3.15.0
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
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