synapse 2.199.0__tar.gz → 2.201.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 synapse might be problematic. Click here for more details.

Files changed (626) hide show
  1. {synapse-2.199.0/synapse.egg-info → synapse-2.201.0}/PKG-INFO +2 -2
  2. {synapse-2.199.0 → synapse-2.201.0}/pyproject.toml +2 -2
  3. {synapse-2.199.0 → synapse-2.201.0}/synapse/cortex.py +0 -6
  4. {synapse-2.199.0 → synapse-2.201.0}/synapse/datamodel.py +10 -4
  5. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/agenda.py +24 -5
  6. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/ast.py +7 -10
  7. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/hive.py +1 -265
  8. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/schemas.py +1 -0
  9. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/snap.py +2 -8
  10. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/storm.py +20 -10
  11. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/version.py +2 -2
  12. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/dns.py +1 -1
  13. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/economic.py +23 -23
  14. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/files.py +2 -2
  15. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/inet.py +2 -2
  16. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/infotech.py +7 -7
  17. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/person.py +1 -1
  18. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/proj.py +3 -2
  19. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/risk.py +1 -1
  20. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/transport.py +3 -3
  21. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_cortex.py +3 -6
  22. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_datamodel.py +2 -0
  23. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_agenda.py +41 -0
  24. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_ast.py +3 -0
  25. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_cell.py +4 -4
  26. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_hive.py +0 -38
  27. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_storm.py +11 -1
  28. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_risk.py +4 -0
  29. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_autodoc.py +5 -0
  30. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_hiveload.py +19 -23
  31. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_hivesave.py +5 -7
  32. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/utils.py +7 -26
  33. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/autodoc.py +16 -1
  34. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/hive/load.py +3 -9
  35. {synapse-2.199.0 → synapse-2.201.0/synapse.egg-info}/PKG-INFO +2 -2
  36. {synapse-2.199.0 → synapse-2.201.0}/synapse.egg-info/SOURCES.txt +0 -1
  37. {synapse-2.199.0 → synapse-2.201.0}/synapse.egg-info/requires.txt +1 -1
  38. synapse-2.199.0/synapse/lib/hiveauth.py +0 -1336
  39. {synapse-2.199.0 → synapse-2.201.0}/LICENSE +0 -0
  40. {synapse-2.199.0 → synapse-2.201.0}/README.rst +0 -0
  41. {synapse-2.199.0 → synapse-2.201.0}/setup.cfg +0 -0
  42. {synapse-2.199.0 → synapse-2.201.0}/synapse/__init__.py +0 -0
  43. {synapse-2.199.0 → synapse-2.201.0}/synapse/axon.py +0 -0
  44. {synapse-2.199.0 → synapse-2.201.0}/synapse/cells.py +0 -0
  45. {synapse-2.199.0 → synapse-2.201.0}/synapse/cmds/__init__.py +0 -0
  46. {synapse-2.199.0 → synapse-2.201.0}/synapse/cmds/boss.py +0 -0
  47. {synapse-2.199.0 → synapse-2.201.0}/synapse/cmds/cortex.py +0 -0
  48. {synapse-2.199.0 → synapse-2.201.0}/synapse/cmds/hive.py +0 -0
  49. {synapse-2.199.0 → synapse-2.201.0}/synapse/common.py +0 -0
  50. {synapse-2.199.0 → synapse-2.201.0}/synapse/cryotank.py +0 -0
  51. {synapse-2.199.0 → synapse-2.201.0}/synapse/daemon.py +0 -0
  52. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/__init__.py +0 -0
  53. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  54. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/attack-flow/README.md +0 -0
  55. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  56. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  57. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  58. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  59. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  60. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/iana.tlds.mpk +0 -0
  61. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/README.md +0 -0
  62. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  63. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  64. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  65. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  66. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  67. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  68. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  69. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  70. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  71. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  72. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  73. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  74. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  75. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  76. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  77. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  78. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  79. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  80. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  81. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  82. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  83. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  84. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  85. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  86. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  87. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  88. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  89. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  90. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  91. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  92. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  93. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  94. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  95. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  96. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  97. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  98. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  99. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  100. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  101. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  102. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  103. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  104. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  105. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  106. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  107. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  108. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  109. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  110. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  111. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  112. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  113. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  114. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  115. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  116. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  117. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  118. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  119. {synapse-2.199.0 → synapse-2.201.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  120. {synapse-2.199.0 → synapse-2.201.0}/synapse/exc.py +0 -0
  121. {synapse-2.199.0 → synapse-2.201.0}/synapse/glob.py +0 -0
  122. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/__init__.py +0 -0
  123. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/aha.py +0 -0
  124. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/auth.py +0 -0
  125. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/autodoc.py +0 -0
  126. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/base.py +0 -0
  127. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/boss.py +0 -0
  128. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/cache.py +0 -0
  129. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/cell.py +0 -0
  130. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/certdir.py +0 -0
  131. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/chop.py +0 -0
  132. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/cli.py +0 -0
  133. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/cmd.py +0 -0
  134. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/cmdr.py +0 -0
  135. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/config.py +0 -0
  136. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/const.py +0 -0
  137. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/coro.py +0 -0
  138. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/__init__.py +0 -0
  139. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/coin.py +0 -0
  140. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/ecc.py +0 -0
  141. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/passwd.py +0 -0
  142. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/rsa.py +0 -0
  143. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/crypto/tinfoil.py +0 -0
  144. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/datfile.py +0 -0
  145. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/drive.py +0 -0
  146. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/dyndeps.py +0 -0
  147. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/encoding.py +0 -0
  148. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/gis.py +0 -0
  149. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/grammar.py +0 -0
  150. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/hashitem.py +0 -0
  151. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/hashset.py +0 -0
  152. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/health.py +0 -0
  153. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/httpapi.py +0 -0
  154. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/ingest.py +0 -0
  155. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/interval.py +0 -0
  156. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/jsonstor.py +0 -0
  157. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/layer.py +0 -0
  158. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/link.py +0 -0
  159. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/lmdbslab.py +0 -0
  160. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/modelrev.py +0 -0
  161. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/module.py +0 -0
  162. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/modules.py +0 -0
  163. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/msgpack.py +0 -0
  164. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/multislabseqn.py +0 -0
  165. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/nexus.py +0 -0
  166. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/node.py +0 -0
  167. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/oauth.py +0 -0
  168. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/output.py +0 -0
  169. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/parser.py +0 -0
  170. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/__init__.py +0 -0
  171. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/common.py +0 -0
  172. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/darwin.py +0 -0
  173. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/freebsd.py +0 -0
  174. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/linux.py +0 -0
  175. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/platforms/windows.py +0 -0
  176. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/queue.py +0 -0
  177. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/ratelimit.py +0 -0
  178. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/reflect.py +0 -0
  179. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/rstorm.py +0 -0
  180. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/scope.py +0 -0
  181. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/scrape.py +0 -0
  182. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/share.py +0 -0
  183. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/slaboffs.py +0 -0
  184. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/slabseqn.py +0 -0
  185. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/spooled.py +0 -0
  186. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/storm.lark +0 -0
  187. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/storm_format.py +0 -0
  188. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormctrl.py +0 -0
  189. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormhttp.py +0 -0
  190. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/__init__.py +0 -0
  191. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/aha.py +0 -0
  192. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/auth.py +0 -0
  193. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/backup.py +0 -0
  194. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/basex.py +0 -0
  195. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/cache.py +0 -0
  196. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/cell.py +0 -0
  197. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/compression.py +0 -0
  198. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/cortex.py +0 -0
  199. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/easyperm.py +0 -0
  200. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/env.py +0 -0
  201. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/ethereum.py +0 -0
  202. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/gen.py +0 -0
  203. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/gis.py +0 -0
  204. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/graph.py +0 -0
  205. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/hashes.py +0 -0
  206. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/hex.py +0 -0
  207. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/imap.py +0 -0
  208. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/index.py +0 -0
  209. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/infosec.py +0 -0
  210. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/ipv6.py +0 -0
  211. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/iters.py +0 -0
  212. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/json.py +0 -0
  213. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/log.py +0 -0
  214. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/macro.py +0 -0
  215. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/math.py +0 -0
  216. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/mime.py +0 -0
  217. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/model.py +0 -0
  218. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/modelext.py +0 -0
  219. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/notifications.py +0 -0
  220. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/oauth.py +0 -0
  221. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/pack.py +0 -0
  222. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/project.py +0 -0
  223. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/random.py +0 -0
  224. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/scrape.py +0 -0
  225. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/smtp.py +0 -0
  226. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/spooled.py +0 -0
  227. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/stats.py +0 -0
  228. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/stix.py +0 -0
  229. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/storm.py +0 -0
  230. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/tabular.py +0 -0
  231. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/utils.py +0 -0
  232. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/vault.py +0 -0
  233. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/version.py +0 -0
  234. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/xml.py +0 -0
  235. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormlib/yaml.py +0 -0
  236. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormsvc.py +0 -0
  237. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormtypes.py +0 -0
  238. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/stormwhois.py +0 -0
  239. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/structlog.py +0 -0
  240. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/task.py +0 -0
  241. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/thishost.py +0 -0
  242. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/thisplat.py +0 -0
  243. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/threads.py +0 -0
  244. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/time.py +0 -0
  245. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/trigger.py +0 -0
  246. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/types.py +0 -0
  247. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/urlhelp.py +0 -0
  248. {synapse-2.199.0 → synapse-2.201.0}/synapse/lib/view.py +0 -0
  249. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/__init__.py +0 -0
  250. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/cvss.py +0 -0
  251. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/iana.py +0 -0
  252. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/iso3166.py +0 -0
  253. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/macho.py +0 -0
  254. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/pe.py +0 -0
  255. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/phonenum.py +0 -0
  256. {synapse-2.199.0 → synapse-2.201.0}/synapse/lookup/timezones.py +0 -0
  257. {synapse-2.199.0 → synapse-2.201.0}/synapse/mindmeld.py +0 -0
  258. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/__init__.py +0 -0
  259. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/auth.py +0 -0
  260. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/base.py +0 -0
  261. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/belief.py +0 -0
  262. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/biz.py +0 -0
  263. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/crypto.py +0 -0
  264. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/doc.py +0 -0
  265. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/entity.py +0 -0
  266. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/geopol.py +0 -0
  267. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/geospace.py +0 -0
  268. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/gov/__init__.py +0 -0
  269. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/gov/cn.py +0 -0
  270. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/gov/intl.py +0 -0
  271. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/gov/us.py +0 -0
  272. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/language.py +0 -0
  273. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/material.py +0 -0
  274. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/math.py +0 -0
  275. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/media.py +0 -0
  276. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/orgs.py +0 -0
  277. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/planning.py +0 -0
  278. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/science.py +0 -0
  279. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/syn.py +0 -0
  280. {synapse-2.199.0 → synapse-2.201.0}/synapse/models/telco.py +0 -0
  281. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/__init__.py +0 -0
  282. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/aha.py +0 -0
  283. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/axon.py +0 -0
  284. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/cell.py +0 -0
  285. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/cortex.py +0 -0
  286. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/cryotank.py +0 -0
  287. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/jsonstor.py +0 -0
  288. {synapse-2.199.0 → synapse-2.201.0}/synapse/servers/stemcell.py +0 -0
  289. {synapse-2.199.0 → synapse-2.201.0}/synapse/telepath.py +0 -0
  290. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/__init__.py +0 -0
  291. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  292. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/__init__.py +0 -0
  293. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  294. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  295. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  296. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  297. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  298. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  299. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  300. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  301. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  302. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  303. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  304. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  305. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  306. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/users/root.key +0 -0
  307. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  308. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/certdir/users/user.key +0 -0
  309. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  310. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  311. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/cpedata.json +0 -0
  312. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  313. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  314. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  315. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  316. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  317. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stix_export/basic.json +0 -0
  318. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  319. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  320. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  321. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  322. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  323. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  324. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  325. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  326. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  327. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  328. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  329. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormmod/common +0 -0
  330. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  331. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  332. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  333. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  334. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  335. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  336. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  337. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  338. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  339. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  340. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  341. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  342. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  343. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  344. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  345. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  346. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  347. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  348. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  349. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  350. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  351. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  352. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  353. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  354. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/test.dat +0 -0
  355. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  356. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/nopmod.py +0 -0
  357. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_axon.py +0 -0
  358. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_cmds_boss.py +0 -0
  359. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_cmds_cortex.py +0 -0
  360. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_cmds_hive.py +0 -0
  361. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_common.py +0 -0
  362. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_cryotank.py +0 -0
  363. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_daemon.py +0 -0
  364. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_data.py +0 -0
  365. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_exc.py +0 -0
  366. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_glob.py +0 -0
  367. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_init.py +0 -0
  368. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_aha.py +0 -0
  369. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_auth.py +0 -0
  370. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_autodoc.py +0 -0
  371. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_base.py +0 -0
  372. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_boss.py +0 -0
  373. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_cache.py +0 -0
  374. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_certdir.py +0 -0
  375. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_chop.py +0 -0
  376. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_cli.py +0 -0
  377. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_config.py +0 -0
  378. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_const.py +0 -0
  379. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_coro.py +0 -0
  380. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  381. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  382. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  383. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  384. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_datfile.py +0 -0
  385. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  386. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_encoding.py +0 -0
  387. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_gis.py +0 -0
  388. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_grammar.py +0 -0
  389. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_hashitem.py +0 -0
  390. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_hashset.py +0 -0
  391. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_health.py +0 -0
  392. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_httpapi.py +0 -0
  393. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_interval.py +0 -0
  394. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  395. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_layer.py +0 -0
  396. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_link.py +0 -0
  397. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  398. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_modelrev.py +0 -0
  399. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_module.py +0 -0
  400. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_msgpack.py +0 -0
  401. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  402. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_nexus.py +0 -0
  403. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_node.py +0 -0
  404. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_output.py +0 -0
  405. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  406. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_queue.py +0 -0
  407. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  408. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_reflect.py +0 -0
  409. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_rstorm.py +0 -0
  410. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_scope.py +0 -0
  411. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_scrape.py +0 -0
  412. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  413. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  414. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_snap.py +0 -0
  415. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_spooled.py +0 -0
  416. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_storm_format.py +0 -0
  417. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  418. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  419. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  420. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  421. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  422. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  423. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  424. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  425. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  426. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  427. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  428. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  429. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  430. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  431. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  432. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  433. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  434. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  435. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  436. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  437. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  438. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  439. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  440. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  441. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  442. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  443. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  444. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  445. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  446. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  447. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  448. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  449. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  450. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  451. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  452. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  453. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  454. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  455. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  456. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  457. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  458. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  459. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  460. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormtypes.py +0 -0
  461. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  462. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_structlog.py +0 -0
  463. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_task.py +0 -0
  464. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_thishost.py +0 -0
  465. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_time.py +0 -0
  466. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_trigger.py +0 -0
  467. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_types.py +0 -0
  468. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  469. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_version.py +0 -0
  470. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lib_view.py +0 -0
  471. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  472. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  473. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_mindmeld.py +0 -0
  474. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_auth.py +0 -0
  475. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_base.py +0 -0
  476. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_belief.py +0 -0
  477. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_biz.py +0 -0
  478. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_crypto.py +0 -0
  479. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_dns.py +0 -0
  480. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_doc.py +0 -0
  481. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_economic.py +0 -0
  482. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_files.py +0 -0
  483. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_geopol.py +0 -0
  484. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_geospace.py +0 -0
  485. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_gov_cn.py +0 -0
  486. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_gov_intl.py +0 -0
  487. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_gov_us.py +0 -0
  488. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_inet.py +0 -0
  489. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_infotech.py +0 -0
  490. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_language.py +0 -0
  491. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_material.py +0 -0
  492. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_math.py +0 -0
  493. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_media.py +0 -0
  494. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_orgs.py +0 -0
  495. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_person.py +0 -0
  496. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_planning.py +0 -0
  497. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_proj.py +0 -0
  498. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_science.py +0 -0
  499. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_syn.py +0 -0
  500. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_telco.py +0 -0
  501. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_model_transport.py +0 -0
  502. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_servers_axon.py +0 -0
  503. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_servers_cortex.py +0 -0
  504. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_servers_cryotank.py +0 -0
  505. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_servers_stemcell.py +0 -0
  506. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_servers_univ.py +0 -0
  507. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_telepath.py +0 -0
  508. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_aha.py +0 -0
  509. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_apikey.py +0 -0
  510. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  511. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_backup.py +0 -0
  512. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_cellauth.py +0 -0
  513. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_changelog.py +0 -0
  514. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  515. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  516. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_csvtool.py +0 -0
  517. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  518. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_easycert.py +0 -0
  519. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_feed.py +0 -0
  520. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_genpkg.py +0 -0
  521. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_guid.py +0 -0
  522. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  523. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  524. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_livebackup.py +0 -0
  525. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_modrole.py +0 -0
  526. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_moduser.py +0 -0
  527. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_promote.py +0 -0
  528. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_pullfile.py +0 -0
  529. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_pushfile.py +0 -0
  530. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_reload.py +0 -0
  531. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_rstorm.py +0 -0
  532. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_snapshot.py +0 -0
  533. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_tools_storm.py +0 -0
  534. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_utils.py +0 -0
  535. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_utils_getrefs.py +0 -0
  536. {synapse-2.199.0 → synapse-2.201.0}/synapse/tests/test_utils_stormcov.py +0 -0
  537. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/__init__.py +0 -0
  538. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/__init__.py +0 -0
  539. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/clone.py +0 -0
  540. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/easycert.py +0 -0
  541. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/enroll.py +0 -0
  542. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/list.py +0 -0
  543. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/mirror.py +0 -0
  544. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/provision/__init__.py +0 -0
  545. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/provision/service.py +0 -0
  546. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/aha/provision/user.py +0 -0
  547. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/apikey.py +0 -0
  548. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/axon2axon.py +0 -0
  549. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/backup.py +0 -0
  550. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/cellauth.py +0 -0
  551. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/changelog.py +0 -0
  552. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/cmdr.py +0 -0
  553. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/cryo/__init__.py +0 -0
  554. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/cryo/cat.py +0 -0
  555. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/cryo/list.py +0 -0
  556. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/csvtool.py +0 -0
  557. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/docker/__init__.py +0 -0
  558. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/docker/validate.py +0 -0
  559. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/easycert.py +0 -0
  560. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/feed.py +0 -0
  561. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/genpkg.py +0 -0
  562. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/guid.py +0 -0
  563. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/healthcheck.py +0 -0
  564. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/hive/__init__.py +0 -0
  565. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/hive/save.py +0 -0
  566. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/json2mpk.py +0 -0
  567. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/livebackup.py +0 -0
  568. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/modrole.py +0 -0
  569. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/moduser.py +0 -0
  570. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/promote.py +0 -0
  571. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/pullfile.py +0 -0
  572. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/pushfile.py +0 -0
  573. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/reload.py +0 -0
  574. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/rstorm.py +0 -0
  575. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/snapshot.py +0 -0
  576. {synapse-2.199.0 → synapse-2.201.0}/synapse/tools/storm.py +0 -0
  577. {synapse-2.199.0 → synapse-2.201.0}/synapse/utils/__init__.py +0 -0
  578. {synapse-2.199.0 → synapse-2.201.0}/synapse/utils/getrefs.py +0 -0
  579. {synapse-2.199.0 → synapse-2.201.0}/synapse/utils/stormcov/__init__.py +0 -0
  580. {synapse-2.199.0 → synapse-2.201.0}/synapse/utils/stormcov/plugin.py +0 -0
  581. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/__init__.py +0 -0
  582. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  583. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  584. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/base58.py +0 -0
  585. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/convert.py +0 -0
  586. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  587. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  588. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  589. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/LICENSE +0 -0
  590. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/__init__.py +0 -0
  591. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  592. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  593. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  594. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  595. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  596. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  597. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  598. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  599. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  600. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  601. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  602. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  603. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  604. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  605. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  606. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  607. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  608. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  609. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  610. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  611. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/utils.py +0 -0
  612. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/LICENSE +0 -0
  613. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/__init__.py +0 -0
  614. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/constants.py +0 -0
  615. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  616. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  617. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  618. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  619. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  620. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  621. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  622. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  623. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  624. {synapse-2.199.0 → synapse-2.201.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  625. {synapse-2.199.0 → synapse-2.201.0}/synapse.egg-info/dependency_links.txt +0 -0
  626. {synapse-2.199.0 → synapse-2.201.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: synapse
3
- Version: 2.199.0
3
+ Version: 2.201.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -23,7 +23,7 @@ Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
23
23
  Requires-Dist: cryptography<44.0.0,>=43.0.1
24
24
  Requires-Dist: msgpack<1.2.0,>=1.0.5
25
25
  Requires-Dist: xxhash<3.6.0,>=1.4.4
26
- Requires-Dist: lmdb<1.5.0,>=1.2.1
26
+ Requires-Dist: lmdb<1.7.0,>=1.2.1
27
27
  Requires-Dist: tornado<7.0.0,>=6.2.0
28
28
  Requires-Dist: regex>=2022.9.11
29
29
  Requires-Dist: PyYAML<6.1.0,>=5.4
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.199.0'
7
+ version = '2.201.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -27,7 +27,7 @@ dependencies = [
27
27
  'cryptography>=43.0.1,<44.0.0',
28
28
  'msgpack>=1.0.5,<1.2.0',
29
29
  'xxhash>=1.4.4,<3.6.0',
30
- 'lmdb>=1.2.1,<1.5.0',
30
+ 'lmdb>=1.2.1,<1.7.0',
31
31
  'tornado>=6.2.0,<7.0.0',
32
32
  'regex>=2022.9.11',
33
33
  'PyYAML>=5.4,<6.1.0',
@@ -20,7 +20,6 @@ import synapse.lib.base as s_base
20
20
  import synapse.lib.cell as s_cell
21
21
  import synapse.lib.chop as s_chop
22
22
  import synapse.lib.coro as s_coro
23
- import synapse.lib.hive as s_hive
24
23
  import synapse.lib.view as s_view
25
24
  import synapse.lib.cache as s_cache
26
25
  import synapse.lib.const as s_const
@@ -855,7 +854,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
855
854
  cellapi = CoreApi
856
855
  viewapi = s_view.ViewApi
857
856
  layerapi = s_layer.LayerApi
858
- hiveapi = s_hive.HiveApi
859
857
 
860
858
  viewctor = s_view.View.anit
861
859
  layrctor = s_layer.Layer.anit
@@ -4656,10 +4654,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4656
4654
  if not path:
4657
4655
  return await self.cellapi.anit(self, link, user)
4658
4656
 
4659
- if path[0] == 'hive' and user.isAdmin():
4660
- s_common.deprecated('Cortex /hive telepath path', curv='2.198.0', eolv='2.199.0')
4661
- return await self.hiveapi.anit(self.hive, user)
4662
-
4663
4657
  if path[0] == 'layer':
4664
4658
 
4665
4659
  if len(path) == 1:
@@ -1,6 +1,7 @@
1
1
  '''
2
2
  An API to assist with the creation and enforcement of cortex data models.
3
3
  '''
4
+ import sys
4
5
  import asyncio
5
6
  import logging
6
7
  import collections
@@ -15,6 +16,7 @@ import synapse.lib.cache as s_cache
15
16
  import synapse.lib.types as s_types
16
17
  import synapse.lib.dyndeps as s_dyndeps
17
18
  import synapse.lib.grammar as s_grammar
19
+ import synapse.lib.msgpack as s_msgpack
18
20
 
19
21
  logger = logging.getLogger(__name__)
20
22
 
@@ -142,6 +144,9 @@ class Prop:
142
144
  async def depfunc(node, oldv):
143
145
  mesg = f'The property {self.full} is deprecated or using a deprecated type and will be removed in 3.0.0'
144
146
  await node.snap.warnonce(mesg)
147
+ if __debug__:
148
+ sys.audit('synapse.datamodel.Prop.deprecated', mesg, self.full)
149
+
145
150
  self.onSet(depfunc)
146
151
 
147
152
  def __repr__(self):
@@ -306,6 +311,8 @@ class Form:
306
311
  async def depfunc(node):
307
312
  mesg = f'The form {self.full} is deprecated or using a deprecated type and will be removed in 3.0.0'
308
313
  await node.snap.warnonce(mesg)
314
+ if __debug__:
315
+ sys.audit('synapse.datamodel.Form.deprecated', mesg, self.full)
309
316
  self.onAdd(depfunc)
310
317
 
311
318
  def getStorNode(self, form):
@@ -1107,7 +1114,7 @@ class Model:
1107
1114
 
1108
1115
  def _prepFormIface(self, form, iface):
1109
1116
 
1110
- template = iface.get('template', {})
1117
+ template = s_msgpack.deepcopy(iface.get('template', {}))
1111
1118
  template.update(form.type.info.get('template', {}))
1112
1119
 
1113
1120
  def convert(item):
@@ -1153,10 +1160,9 @@ class Model:
1153
1160
  for propname, typedef, propinfo in iface.get('props', ()):
1154
1161
 
1155
1162
  # allow form props to take precedence
1156
- if form.prop(propname) is not None:
1157
- continue
1163
+ if (prop := form.prop(propname)) is None:
1164
+ prop = self._addFormProp(form, propname, typedef, propinfo)
1158
1165
 
1159
- prop = self._addFormProp(form, propname, typedef, propinfo)
1160
1166
  self.ifaceprops[f'{name}:{propname}'].append(prop.full)
1161
1167
 
1162
1168
  if subifaces is not None:
@@ -260,6 +260,7 @@ class _Appt:
260
260
  'created',
261
261
  'enabled',
262
262
  'errcount',
263
+ 'loglevel',
263
264
  'nexttime',
264
265
  'lasterrs',
265
266
  'isrunning',
@@ -269,7 +270,7 @@ class _Appt:
269
270
  'lastfinishtime',
270
271
  }
271
272
 
272
- def __init__(self, stor, iden, recur, indx, query, creator, recs, nexttime=None, view=None, created=None, pool=False):
273
+ def __init__(self, stor, iden, recur, indx, query, creator, recs, nexttime=None, view=None, created=None, pool=False, loglevel=None):
273
274
  self.doc = ''
274
275
  self.name = ''
275
276
  self.task = None
@@ -284,6 +285,7 @@ class _Appt:
284
285
  self._recidxnexttime = None # index of rec who is up next
285
286
  self.view = view
286
287
  self.created = created
288
+ self.loglevel = loglevel
287
289
 
288
290
  if self.recur and not self.recs:
289
291
  raise s_exc.BadTime(mesg='A recurrent appointment with no records')
@@ -364,7 +366,10 @@ class _Appt:
364
366
  if val['ver'] != 1:
365
367
  raise s_exc.BadStorageVersion(mesg=f"Found version {val['ver']}") # pragma: no cover
366
368
  recs = [ApptRec.unpack(tupl) for tupl in val['recs']]
367
- appt = cls(stor, val['iden'], val['recur'], val['indx'], val['query'], val['creator'], recs, nexttime=val['nexttime'], view=val.get('view'))
369
+ # TODO: MOAR INSANITY
370
+ loglevel = val.get('loglevel', 'WARNING')
371
+ appt = cls(stor, val['iden'], val['recur'], val['indx'], val['query'], val['creator'], recs,
372
+ nexttime=val['nexttime'], view=val.get('view'), loglevel=loglevel)
368
373
  appt.doc = val.get('doc', '')
369
374
  appt.name = val.get('name', '')
370
375
  appt.pool = val.get('pool', False)
@@ -373,6 +378,7 @@ class _Appt:
373
378
  appt.lastfinishtime = val['lastfinishtime']
374
379
  appt.lastresult = val['lastresult']
375
380
  appt.enabled = val['enabled']
381
+ appt.lasterrs = list(val.get('lasterrs', []))
376
382
 
377
383
  return appt
378
384
 
@@ -422,8 +428,10 @@ class _Appt:
422
428
  logger.warning('_Appt.edits() Invalid attribute received: %s = %r', name, valu, extra=extra)
423
429
  continue
424
430
 
425
- else:
426
- setattr(self, name, valu)
431
+ if name == 'lasterrs' and not isinstance(valu, list):
432
+ valu = list(valu)
433
+
434
+ setattr(self, name, valu)
427
435
 
428
436
  await self.save()
429
437
 
@@ -559,6 +567,7 @@ class Agenda(s_base.Base):
559
567
  creator = cdef.get('creator')
560
568
  view = cdef.get('view')
561
569
  created = cdef.get('created')
570
+ loglevel = cdef.get('loglevel', 'WARNING')
562
571
 
563
572
  pool = cdef.get('pool', False)
564
573
 
@@ -603,7 +612,9 @@ class Agenda(s_base.Base):
603
612
  incvals = (incvals, )
604
613
  recs.extend(ApptRec(rd, incunit, v) for (rd, v) in itertools.product(reqdicts, incvals))
605
614
 
606
- appt = _Appt(self, iden, recur, indx, query, creator, recs, nexttime=nexttime, view=view, created=created, pool=pool)
615
+ # TODO: this is insane. Make _Appt take the cdef directly...
616
+ appt = _Appt(self, iden, recur, indx, query, creator, recs, nexttime=nexttime, view=view,
617
+ created=created, pool=pool, loglevel=loglevel)
607
618
  self._addappt(iden, appt)
608
619
 
609
620
  appt.doc = cdef.get('doc', '')
@@ -841,7 +852,10 @@ class Agenda(s_base.Base):
841
852
  extra={'synapse': {'iden': appt.iden, 'name': appt.name, 'user': user.iden, 'text': appt.query,
842
853
  'username': user.name, 'view': appt.view}})
843
854
  starttime = self._getNowTick()
855
+
844
856
  success = False
857
+ loglevel = s_common.normLogLevel(appt.loglevel)
858
+
845
859
  try:
846
860
  opts = {
847
861
  'user': user.iden,
@@ -861,6 +875,11 @@ class Agenda(s_base.Base):
861
875
  if mesg[0] == 'node':
862
876
  count += 1
863
877
 
878
+ elif mesg[0] == 'warn' and loglevel <= logging.WARNING:
879
+ text = mesg[1].get('mesg', '<missing message>')
880
+ extra = await self.core.getLogExtra(cron=appt.iden, **mesg[1])
881
+ logger.warning(f'Cron job {appt.iden} issued warning: {text}', extra=extra)
882
+
864
883
  elif mesg[0] == 'err':
865
884
  excname, errinfo = mesg[1]
866
885
  errinfo.pop('eline', None)
@@ -217,13 +217,10 @@ class Query(AstNode):
217
217
  genr = await stack.enter_async_context(contextlib.aclosing(oper.run(runt, genr)))
218
218
 
219
219
  async for node, path in genr:
220
- runt.tick()
221
220
  yield node, path
222
221
 
223
222
  async def iterNodePaths(self, runt, genr=None):
224
223
 
225
- count = 0
226
-
227
224
  self.optimize()
228
225
  self.validate(runt)
229
226
 
@@ -231,18 +228,18 @@ class Query(AstNode):
231
228
  if genr is None:
232
229
  genr = runt.getInput()
233
230
 
231
+ count = 0
232
+ limit = runt.getOpt('limit')
233
+
234
234
  async with contextlib.aclosing(self.run(runt, genr)) as agen:
235
235
  async for node, path in agen:
236
236
 
237
- runt.tick()
238
-
239
237
  yield node, path
240
238
 
241
- count += 1
242
-
243
- limit = runt.getOpt('limit')
244
- if limit is not None and count >= limit:
245
- break
239
+ if limit is not None:
240
+ count += 1
241
+ if count >= limit:
242
+ break
246
243
 
247
244
  class Lookup(Query):
248
245
  '''
@@ -86,7 +86,7 @@ class Node(s_base.Base):
86
86
  for name, node in self.kids.items():
87
87
  yield name, node
88
88
 
89
- class Hive(s_nexus.Pusher, s_telepath.Aware):
89
+ class Hive(s_nexus.Pusher):
90
90
  '''
91
91
  An optionally persistent atomically accessed tree which implements
92
92
  primitives for use in making distributed/clustered services.
@@ -95,8 +95,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
95
95
 
96
96
  await s_nexus.Pusher.__anit__(self, 'hive', nexsroot=nexsroot)
97
97
 
98
- s_telepath.Aware.__init__(self)
99
-
100
98
  if conf is None:
101
99
  conf = {}
102
100
 
@@ -161,24 +159,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
161
159
  for cullname in culls:
162
160
  await node.pop((cullname,))
163
161
 
164
- async def getHiveAuth(self):
165
- '''
166
- Retrieve a HiveAuth for hive standalone or non-cell uses.
167
-
168
- Note:
169
- This is for the hive's own auth, or for non-cell auth. It isn't the same auth as for a cell
170
- '''
171
- import synapse.lib.hiveauth as s_hiveauth
172
- if self.auth is None:
173
-
174
- path = tuple(self.conf.get('auth:path').split('/'))
175
-
176
- node = await self.open(path)
177
- self.auth = await s_hiveauth.Auth.anit(node, nexsroot=self.nexsroot)
178
- self.onfini(self.auth.fini)
179
-
180
- return self.auth
181
-
182
162
  async def _onHiveFini(self):
183
163
  await self.root.fini()
184
164
 
@@ -423,27 +403,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
423
403
 
424
404
  return node.valu
425
405
 
426
- async def getTeleApi(self, link, mesg, path):
427
- s_common.deprecated('Hive.getTeleApi', curv='2.198.0', eolv='2.199.0')
428
- auth = await self.getHiveAuth()
429
-
430
- if not self.conf.get('auth:en'):
431
- user = await auth.getUserByName('root')
432
- return await HiveApi.anit(self, user)
433
-
434
- name, info = mesg[1].get('auth')
435
-
436
- user = await auth.getUserByName(name)
437
- if user is None:
438
- raise s_exc.NoSuchUser(name=name)
439
-
440
- # passwd None always fails...
441
- passwd = info.get('passwd')
442
- if not await user.tryPasswd(passwd):
443
- raise s_exc.AuthDeny(mesg='Invalid password', user=user.iden, username=user.name)
444
-
445
- return await HiveApi.anit(self, user)
446
-
447
406
  async def _storLoadHive(self):
448
407
  pass
449
408
 
@@ -480,224 +439,6 @@ class SlabHive(Hive):
480
439
  lkey = '\x00'.join(full).encode('utf8')
481
440
  self.slab.pop(lkey, db=self.db)
482
441
 
483
- class HiveApi(s_base.Base):
484
-
485
- async def __anit__(self, hive, user):
486
-
487
- await s_base.Base.__anit__(self)
488
-
489
- self.hive = hive
490
- self.user = user
491
-
492
- self.msgq = asyncio.Queue(maxsize=10000)
493
-
494
- self.onfini(self._onHapiFini)
495
-
496
- async def loadHiveTree(self, tree, path=(), trim=False):
497
- s_common.deprecated('HiveApi.loadHiveTree', curv='2.167.0')
498
- return await self.hive.loadHiveTree(tree, path=path, trim=trim)
499
-
500
- async def saveHiveTree(self, path=()):
501
- s_common.deprecated('HiveApi.saveHiveTree', curv='2.167.0')
502
- return await self.hive.saveHiveTree(path=path)
503
-
504
- async def treeAndSync(self, path, iden):
505
- s_common.deprecated('HiveApi.treeAndSync', curv='2.167.0')
506
-
507
- node = await self.hive.open(path)
508
-
509
- # register handlers...
510
- node.on('hive:add', self._onHiveEdit, base=self)
511
- node.on('hive:set', self._onHiveEdit, base=self)
512
- node.on('hive:pop', self._onHiveEdit, base=self)
513
-
514
- # serialize the subtree into a message and return
515
- # via the mesg queue so there is no get/update race
516
- root = (node.valu, {})
517
-
518
- todo = collections.deque([(node, root)])
519
-
520
- # breadth first generator
521
- while todo:
522
-
523
- node, pode = todo.popleft()
524
-
525
- for name, kidn in node.kids.items():
526
-
527
- kidp = (kidn.valu, {})
528
- pode[1][name] = kidp
529
-
530
- todo.append((kidn, kidp))
531
-
532
- await self.msgq.put(('hive:tree', {'path': path, 'tree': root}))
533
- await self.msgq.put(('hive:sync', {'iden': iden}))
534
- return
535
-
536
- async def setAndSync(self, path, valu, iden, nexs=False):
537
- s_common.deprecated('HiveApi.setAndSync', curv='2.167.0')
538
-
539
- valu = await self.hive.set(path, valu, nexs=nexs)
540
- await self.msgq.put(('hive:sync', {'iden': iden}))
541
- return valu
542
-
543
- async def addAndSync(self, path, valu, iden):
544
- s_common.deprecated('HiveApi.addAndSync', curv='2.167.0')
545
-
546
- valu = await self.hive.add(path, valu)
547
- await self.msgq.put(('hive:sync', {'iden': iden}))
548
- return valu
549
-
550
- async def popAndSync(self, path, iden, nexs=False):
551
- s_common.deprecated('HiveApi.popAndSync', curv='2.167.0')
552
-
553
- valu = await self.hive.pop(path, nexs=nexs)
554
- await self.msgq.put(('hive:sync', {'iden': iden}))
555
- return valu
556
-
557
- async def _onHapiFini(self):
558
- await self.msgq.put(None)
559
-
560
- async def _onHiveEdit(self, mesg):
561
- self.msgq.put_nowait(mesg)
562
-
563
- async def get(self, full):
564
- s_common.deprecated('HiveApi.get', curv='2.167.0')
565
- return await self.hive.get(full)
566
-
567
- async def edits(self):
568
- s_common.deprecated('HiveApi.edits', curv='2.167.0')
569
-
570
- while not self.isfini:
571
-
572
- item = await self.msgq.get()
573
- if item is None:
574
- return
575
-
576
- yield item
577
-
578
- class TeleHive(Hive):
579
- '''
580
- A Hive that acts as a consistent read cache for a telepath proxy Hive
581
- '''
582
-
583
- async def __anit__(self, proxy):
584
-
585
- self.proxy = proxy
586
-
587
- await Hive.__anit__(self)
588
-
589
- self.lock = asyncio.Lock()
590
-
591
- self.syncevents = {} # iden: asyncio.Event()
592
-
593
- # fire a task to sync the sections of the tree we open
594
- self.schedCoro(self._runHiveLoop())
595
-
596
- self.mesgbus = await s_base.Base.anit()
597
- self.mesgbus.on('hive:set', self._onHiveSet)
598
- self.mesgbus.on('hive:pop', self._onHivePop)
599
- self.mesgbus.on('hive:tree', self._onHiveTree)
600
- self.mesgbus.on('hive:sync', self._onHiveSync)
601
-
602
- self.onfini(self.mesgbus.fini)
603
-
604
- self.onfini(proxy.fini)
605
-
606
- async def _onHiveSync(self, mesg):
607
-
608
- iden = mesg[1].get('iden')
609
- evnt = self.syncevents.pop(iden, None)
610
- if evnt is None:
611
- return
612
-
613
- evnt.set()
614
-
615
- def _getSyncIden(self):
616
- iden = s_common.guid()
617
- evnt = asyncio.Event()
618
- self.syncevents[iden] = evnt
619
- return iden, evnt
620
-
621
- async def _runHiveLoop(self):
622
- while not self.isfini:
623
- async for mesg in self.proxy.edits():
624
- await self.mesgbus.dist(mesg)
625
-
626
- async def _onHiveSet(self, mesg):
627
- path = mesg[1].get('path')
628
- valu = mesg[1].get('valu')
629
- await Hive.set(self, path, valu)
630
-
631
- async def _onHivePop(self, mesg):
632
- path = mesg[1].get('path')
633
- await Hive.pop(self, path)
634
-
635
- async def _onHiveTree(self, mesg):
636
-
637
- # get an entire tree update at once
638
- path = mesg[1].get('path')
639
- tree = mesg[1].get('tree')
640
-
641
- node = await Hive.open(self, path)
642
-
643
- todo = collections.deque([(node, path, tree)])
644
-
645
- while todo:
646
-
647
- node, path, (valu, kids) = todo.popleft()
648
-
649
- # do *not* go through the set() API
650
- node.valu = valu
651
- for name, kidt in kids.items():
652
-
653
- kidp = path + (name,)
654
- kidn = await Hive.open(self, kidp)
655
-
656
- todo.append((kidn, kidp, kidt))
657
-
658
- async def set(self, path, valu, nexs=False):
659
- iden, evnt = self._getSyncIden()
660
- valu = await self.proxy.setAndSync(path, valu, iden, nexs=nexs)
661
- await evnt.wait()
662
- return valu
663
-
664
- async def add(self, path, valu):
665
- iden, evnt = self._getSyncIden()
666
- valu = await self.proxy.addAndSync(path, valu, iden)
667
- await evnt.wait()
668
- return valu
669
-
670
- async def pop(self, path, nexs=False):
671
- iden, evnt = self._getSyncIden()
672
- valu = await self.proxy.popAndSync(path, iden, nexs=nexs)
673
- await evnt.wait()
674
- return valu
675
-
676
- async def get(self, path):
677
- return await self.proxy.get(path)
678
-
679
- async def open(self, path):
680
-
681
- # try once pre-lock for speed
682
- node = self.nodes.get(path)
683
- if node is not None:
684
- return node
685
-
686
- async with self.lock:
687
-
688
- # try again with lock to avoid race
689
- node = self.nodes.get(path)
690
- if node is not None:
691
- return node
692
-
693
- iden, evnt = self._getSyncIden()
694
-
695
- await self.proxy.treeAndSync(path, iden)
696
-
697
- await evnt.wait()
698
-
699
- return self.nodes.get(path)
700
-
701
442
  class HiveDict(s_base.Base):
702
443
  '''
703
444
  '''
@@ -758,11 +499,6 @@ def iterpath(path):
758
499
  for i in range(len(path)):
759
500
  yield path[:i + 1]
760
501
 
761
- async def openurl(url, **opts):
762
- s_common.deprecated('synapse.lib.hive.openurl()', curv='2.198.0', eolv='2.199.0')
763
- prox = await s_telepath.openurl(url, **opts)
764
- return await TeleHive.anit(prox)
765
-
766
502
  async def opendir(dirn, conf=None):
767
503
  slab = await s_slab.Slab.anit(dirn, map_size=s_const.gibibyte)
768
504
  db = slab.initdb('hive')
@@ -97,6 +97,7 @@ _CronJobSchema = {
97
97
  'name': {'type': 'string'},
98
98
  'pool': {'type': 'boolean'},
99
99
  'doc': {'type': 'string'},
100
+ 'loglevel': {'type': 'string', 'enum': list(s_const.LOG_LEVEL_CHOICES.keys())},
100
101
  'incunit': {
101
102
  'oneOf': [
102
103
  {'type': 'null'},
@@ -1,6 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
4
3
  import types
5
4
  import asyncio
6
5
  import logging
@@ -12,14 +11,12 @@ import synapse.exc as s_exc
12
11
  import synapse.common as s_common
13
12
 
14
13
  import synapse.lib.base as s_base
15
- import synapse.lib.coro as s_coro
16
14
  import synapse.lib.node as s_node
17
15
  import synapse.lib.time as s_time
18
16
  import synapse.lib.cache as s_cache
19
17
  import synapse.lib.layer as s_layer
20
18
  import synapse.lib.storm as s_storm
21
19
  import synapse.lib.types as s_types
22
- import synapse.lib.spooled as s_spooled
23
20
 
24
21
  logger = logging.getLogger(__name__)
25
22
 
@@ -1606,7 +1603,8 @@ class Snap(s_base.Base):
1606
1603
  proptype = prop.type
1607
1604
  for prop in prop.getAlts():
1608
1605
  if prop.type.isarray and prop.type.arraytype == proptype:
1609
- if valu in node.get(prop.name):
1606
+ arryvalu = node.get(prop.name)
1607
+ if arryvalu is not None and valu in arryvalu:
1610
1608
  return True
1611
1609
  else:
1612
1610
  if node.get(prop.name) == valu:
@@ -1694,10 +1692,6 @@ class Snap(s_base.Base):
1694
1692
  return tagnode
1695
1693
 
1696
1694
  async def _raiseOnStrict(self, ctor, mesg, **info):
1697
- if __debug__:
1698
- if issubclass(ctor, s_exc.IsDeprLocked):
1699
- sys.audit('synapse.exc.IsDeprLocked', (mesg, info))
1700
-
1701
1695
  if self.strict:
1702
1696
  raise ctor(mesg=mesg, **info)
1703
1697
  await self.warn(mesg)