synapse 2.185.0__py311-none-any.whl → 2.187.0__py311-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of synapse might be problematic. Click here for more details.
- synapse/cortex.py +5 -4
- synapse/exc.py +2 -0
- synapse/lib/ast.py +1 -1
- synapse/lib/cell.py +65 -2
- synapse/lib/drive.py +45 -10
- synapse/lib/hive.py +1 -1
- synapse/lib/modelrev.py +771 -11
- synapse/lib/snap.py +0 -6
- synapse/lib/spooled.py +26 -3
- synapse/lib/storm.py +7 -0
- synapse/lib/stormlib/model.py +320 -250
- synapse/lib/stormtypes.py +36 -10
- synapse/lib/types.py +6 -0
- synapse/lib/version.py +2 -2
- synapse/models/infotech.py +49 -22
- synapse/models/risk.py +3 -0
- synapse/tests/test_cortex.py +10 -5
- synapse/tests/test_lib_base.py +2 -2
- synapse/tests/test_lib_cell.py +16 -4
- synapse/tests/test_lib_modelrev.py +918 -379
- synapse/tests/test_lib_spooled.py +34 -0
- synapse/tests/test_lib_stormlib_model.py +0 -270
- synapse/tests/test_lib_stormtypes.py +11 -0
- synapse/tests/test_model_infotech.py +14 -11
- synapse/tests/test_model_risk.py +2 -0
- synapse/tests/test_tools_snapshot.py +47 -0
- synapse/tools/aha/clone.py +3 -1
- synapse/tools/aha/easycert.py +1 -1
- synapse/tools/aha/enroll.py +3 -1
- synapse/tools/aha/provision/service.py +3 -1
- synapse/tools/aha/provision/user.py +3 -1
- synapse/tools/changelog.py +11 -3
- synapse/tools/livebackup.py +3 -1
- synapse/tools/promote.py +9 -3
- synapse/tools/snapshot.py +69 -0
- {synapse-2.185.0.dist-info → synapse-2.187.0.dist-info}/METADATA +1 -1
- {synapse-2.185.0.dist-info → synapse-2.187.0.dist-info}/RECORD +40 -41
- {synapse-2.185.0.dist-info → synapse-2.187.0.dist-info}/WHEEL +1 -1
- synapse/assets/__init__.py +0 -35
- synapse/assets/storm/migrations/model-0.2.28.storm +0 -355
- synapse/tests/test_assets.py +0 -25
- {synapse-2.185.0.dist-info → synapse-2.187.0.dist-info}/LICENSE +0 -0
- {synapse-2.185.0.dist-info → synapse-2.187.0.dist-info}/top_level.txt +0 -0
|
@@ -2,16 +2,14 @@ synapse/__init__.py,sha256=R2kOXlF5j-8m6G0JkHuN7rXRPg_tHLmbMxr__94mHQk,1145
|
|
|
2
2
|
synapse/axon.py,sha256=DQu_Ps4BDRDnmdHmqCbpd3W_91yzhdo7AzAk-wtQC3s,61520
|
|
3
3
|
synapse/cells.py,sha256=eNvdglfAoTURVhGOLGcgMXCGpfsIX1a02SQnyiklo3E,308
|
|
4
4
|
synapse/common.py,sha256=JRGiA6FCkCZP2pBc3s_H7MsQGwc9jU_vkJFQP3XpVLs,36523
|
|
5
|
-
synapse/cortex.py,sha256=
|
|
5
|
+
synapse/cortex.py,sha256=1lanSlEVw07Ie3jMBFbL_306T1wNWT2dOFuTIIflYb8,254739
|
|
6
6
|
synapse/cryotank.py,sha256=oTbAOKq-q8WqAkYmY46Mc8hy85W3ZcQMxmP2EJDFyZ0,12124
|
|
7
7
|
synapse/daemon.py,sha256=-xy6EnmD5CodWQs_S-v7apKILECmn5EEYBpEPG-MDns,16986
|
|
8
8
|
synapse/datamodel.py,sha256=QvIXNLpARXQwKCkz5SmXmQYv9V0pfp51G0cQ9h-omSo,38837
|
|
9
|
-
synapse/exc.py,sha256=
|
|
9
|
+
synapse/exc.py,sha256=TCSS6ODXNKTxEfo_PT0keumTOAONGJXbTZ4ph_HrWF0,9090
|
|
10
10
|
synapse/glob.py,sha256=tb6NPtK6Jp6YES9sB1AQi26HP6f-BcEiHrZz2yEyZ90,3210
|
|
11
11
|
synapse/mindmeld.py,sha256=TiijGH7wX2zdXIFSBUlN40CPOvYaFlw6Wxi66XZuB_M,26
|
|
12
12
|
synapse/telepath.py,sha256=HlsxX5akFRf7VCJxztnqjAelc2YMOPyCoDsYAAiWQnc,44395
|
|
13
|
-
synapse/assets/__init__.py,sha256=2-JUtbhS3pJIzDK5-7DO8CzLDuTSY30bez5sgAsYis0,938
|
|
14
|
-
synapse/assets/storm/migrations/model-0.2.28.storm,sha256=8WObPl9knvR9E0jJf47VVvwiKqbZnzDR-9mvMucah9U,11253
|
|
15
13
|
synapse/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
14
|
synapse/cmds/boss.py,sha256=anEKo72bmMV6xTQ1XM-Dz9HFYkNKUX7Ee6Q6jKtkml4,2920
|
|
17
15
|
synapse/cmds/cortex.py,sha256=l81zQjR0OWF-X_lOm-gPqwhVGJ4KcKe0JLA3T1NbuU4,15402
|
|
@@ -87,13 +85,13 @@ synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-sch
|
|
|
87
85
|
synapse/lib/__init__.py,sha256=qLS7nt8-Iot8jnD2Xss_6wZi5lJoyv2rqxF9kkektT0,129
|
|
88
86
|
synapse/lib/agenda.py,sha256=ddr6FrbDY5YslJS3vdBqUUcoh32XwiEj1OkomFg-NAg,33107
|
|
89
87
|
synapse/lib/aha.py,sha256=vUFzh_s4VYSYXb73C3GYVcQRIaQow_0PSrSYOvz5wis,50308
|
|
90
|
-
synapse/lib/ast.py,sha256=
|
|
88
|
+
synapse/lib/ast.py,sha256=sUvoukgeJpsefcjas1Fb5NpJkRL7e9NNMW-UvTTO_rY,157259
|
|
91
89
|
synapse/lib/auth.py,sha256=kPi5Gn5YHCAZHiJhSC9YGNdNW6jk94gSXtSQRe8fNg4,52800
|
|
92
90
|
synapse/lib/autodoc.py,sha256=eTwyKM0msJFmLmZR1OxKFVAb8wcMgJ2q72Ccphsi-u8,23226
|
|
93
91
|
synapse/lib/base.py,sha256=FfS6k30ZcS1CVfHPa5LNKog1f48rJ0xE14PI89vW7tM,23634
|
|
94
92
|
synapse/lib/boss.py,sha256=rYu4jkHJ3Y5GLX23Hlrwe9H17LF27LZ0BkK_A_9Aqh0,2056
|
|
95
93
|
synapse/lib/cache.py,sha256=N8BoNFQXOaYQU33LLYQcVkdV6IYjSNaUoaKue55y7H0,6275
|
|
96
|
-
synapse/lib/cell.py,sha256=
|
|
94
|
+
synapse/lib/cell.py,sha256=uamPIh1SsO7fJyoPF3_KDqIyw3c0SZQzPIOr6okJSe4,178746
|
|
97
95
|
synapse/lib/certdir.py,sha256=laGLxgx0gVxXvoaLKKemBQv71OZr9mDaqlAatdESV1A,56176
|
|
98
96
|
synapse/lib/chop.py,sha256=F0RRLlJ6NlpLW7sBWPNZV9Xw4w6HVbQbxPZPE6VhwVQ,9404
|
|
99
97
|
synapse/lib/cli.py,sha256=rwaO4SbJIzOhwxB9B7NHXpyegQeRsUQ1gULVwgnNCfg,14580
|
|
@@ -103,7 +101,7 @@ synapse/lib/config.py,sha256=2EBZcxXFVLBA7x1rtPNGmK91jqcJR-iOVU8rDzKokHQ,15830
|
|
|
103
101
|
synapse/lib/const.py,sha256=uf-_iCXcNo85IIZss-yKTkbIe6fBAJ4n5v4Ntf0J104,1274
|
|
104
102
|
synapse/lib/coro.py,sha256=o-ZrlfJALlCB30PrXOKT_ojjJ51QIezCm0vmDERSqic,11402
|
|
105
103
|
synapse/lib/datfile.py,sha256=vKqSp7GTMUCYTbthbZ1EaGD8l73LYft6y7hKRuH3T74,620
|
|
106
|
-
synapse/lib/drive.py,sha256=
|
|
104
|
+
synapse/lib/drive.py,sha256=j9Z-WVAIXmabT-Y38ofKsJwOBkT83qcXkGMTMD7fNxc,18370
|
|
107
105
|
synapse/lib/dyndeps.py,sha256=JKN_H3ZiJ831TT59Hdt9Zsif34UteYAfNJAJ0pax5zQ,2168
|
|
108
106
|
synapse/lib/encoding.py,sha256=sxe1VADjsLJtM0vAKEIb4gHhvnOKI4xr_29da0mQMCM,6015
|
|
109
107
|
synapse/lib/gis.py,sha256=Roq4dZ35yNyE3sixL-B0yB32GS3Y9sQZdWr2lDLstKQ,2684
|
|
@@ -111,7 +109,7 @@ synapse/lib/grammar.py,sha256=bl79DVSH0A213loOh5GWOaVt7gZEG6D9tn5ddr6hNuk,2572
|
|
|
111
109
|
synapse/lib/hashitem.py,sha256=3115F7E1hIR97hrJ7QY6j1amasm7uXy63SmpRD1nB_I,658
|
|
112
110
|
synapse/lib/hashset.py,sha256=6R9q6iNfxZ5iGGEmoN7ODDCUnba1XBn7w2PPJh4Yz9o,1468
|
|
113
111
|
synapse/lib/health.py,sha256=wkVZObjo3quEmxA0VOUnYHapnRinOVZdTFOVobjoTH4,1730
|
|
114
|
-
synapse/lib/hive.py,sha256=
|
|
112
|
+
synapse/lib/hive.py,sha256=jgsIFUueTqRmm_KpcwZRlgJ_f3hJrgtgASxlnx-cyII,20692
|
|
115
113
|
synapse/lib/hiveauth.py,sha256=YJeBZ8UVz0GdhckesVzlv0_9-O2lz5ppczSST-SpLsA,41523
|
|
116
114
|
synapse/lib/httpapi.py,sha256=i0E2dFl54ovWjEPSq7VQ5kNs6FThjXDUkD7ml9XNLOI,43186
|
|
117
115
|
synapse/lib/ingest.py,sha256=HNW1xs215c_UXVjKaxjipKBmVL4ujrjmarHBRvLPLkE,40
|
|
@@ -120,7 +118,7 @@ synapse/lib/jsonstor.py,sha256=QQVf7Kl90sI_v97UZZAoa6stizDeMyy0ykR3RsHpmi8,19359
|
|
|
120
118
|
synapse/lib/layer.py,sha256=9QriT6ikYTQJrpQUw2AGZS887Ndstv61P4UGKK5y1Zo,154151
|
|
121
119
|
synapse/lib/link.py,sha256=DdCmaJzCqYWSJSxv2CQQiMKmW5q12nm34MYyrzCsL-Y,10216
|
|
122
120
|
synapse/lib/lmdbslab.py,sha256=g4_Wh2U1kPlfr0kq7PVDGrBLpPryk2qdJvodr2Fyzxo,60978
|
|
123
|
-
synapse/lib/modelrev.py,sha256=
|
|
121
|
+
synapse/lib/modelrev.py,sha256=kfFBV-rM_rO1jGBleM8630CVmlCaC9hrrFoxrJmZ3oQ,70813
|
|
124
122
|
synapse/lib/module.py,sha256=0XLFLzuZVmEqulKmdT0uah0oi1t8_f_ghakhqvoKtKI,4686
|
|
125
123
|
synapse/lib/modules.py,sha256=xHNrGBWLOSTSqn7GMMnm6iiw3Df-Q11h5gOUw84Ax7E,1282
|
|
126
124
|
synapse/lib/msgpack.py,sha256=I2dc4Py9m5ohGkcsb2Ariqfon6nkam5hC0leEoqADhs,7835
|
|
@@ -140,15 +138,15 @@ synapse/lib/scrape.py,sha256=nsGpH2UIsBebe5aU7iDRUyLKrjHjAgwxhSoka9RYomw,25056
|
|
|
140
138
|
synapse/lib/share.py,sha256=HDQR7nb4IOleHB1kIFe6prZQVW7PjPAivSAkPuhNn5A,663
|
|
141
139
|
synapse/lib/slaboffs.py,sha256=Fd0RrIRBMjh159aQz5y1ONmzw0NvV040kVX_jZjQW6I,815
|
|
142
140
|
synapse/lib/slabseqn.py,sha256=LJ2SZEsZlROBAD3mdS-3JxNVVPXXkBW8GIJXsW0OGG8,10287
|
|
143
|
-
synapse/lib/snap.py,sha256=
|
|
144
|
-
synapse/lib/spooled.py,sha256=
|
|
141
|
+
synapse/lib/snap.py,sha256=QfNtFHV_76ABrm7Zf7WR5kVBB-MvuZmdmDfy0n1Whlo,59880
|
|
142
|
+
synapse/lib/spooled.py,sha256=pKPacX-fvZDUTUWPaKgyct_lk_3eoSsF9Ufh_cn_1fQ,5987
|
|
145
143
|
synapse/lib/storm.lark,sha256=ItEIPItfrCT5VmaoS1vm8FWD8Wv7b7B6ZWucCJCdO6s,26517
|
|
146
|
-
synapse/lib/storm.py,sha256=
|
|
144
|
+
synapse/lib/storm.py,sha256=DDUNmM4c9sB_qPpzgOFpI1r6r3G2xEuARzXeTDvCPI0,215144
|
|
147
145
|
synapse/lib/storm_format.py,sha256=Q8mf9QWzPljwp70BC4dYv0MGWB_YUJi3Ul4T7ReqjlQ,4818
|
|
148
146
|
synapse/lib/stormctrl.py,sha256=XvyZ6M0Ew8sXsjGvRTWbXh0MjktZrGi_zQ9kNa7AWTE,285
|
|
149
147
|
synapse/lib/stormhttp.py,sha256=tw0LuO0UfxZT50sfF_V9hemudv5yZc2M9nFMkGrRHRw,28884
|
|
150
148
|
synapse/lib/stormsvc.py,sha256=dKREBhzYAncOXBbI-FYLRy9VusGIbRyF0TaDDz7mMXw,7581
|
|
151
|
-
synapse/lib/stormtypes.py,sha256=
|
|
149
|
+
synapse/lib/stormtypes.py,sha256=hPGAU6YOKkHP-eR4QSgJEix72Ohiit1XbiX7msiwthk,389390
|
|
152
150
|
synapse/lib/stormwhois.py,sha256=w7N2oCyMljNvi_sRt_bZb5BJwWwYkVGcRd7H_0oHY8Q,2554
|
|
153
151
|
synapse/lib/structlog.py,sha256=qiuD7TTdwCyYEDF2f-88G2iX54SuB-lJ1pqlYokL1r8,1303
|
|
154
152
|
synapse/lib/task.py,sha256=krDjQvNh0EpAs1PILK8CJJa9DMeM0depI0K8Eimp010,5733
|
|
@@ -157,9 +155,9 @@ synapse/lib/thisplat.py,sha256=kQhj9Iy97zKHCnaxFSBoSnKabfza9vjpg9m6V7w-Xt4,417
|
|
|
157
155
|
synapse/lib/threads.py,sha256=TSsC7ryXm_CbM0LQMsvk1vYV4iyvarzWzH59TrUzKuo,164
|
|
158
156
|
synapse/lib/time.py,sha256=FKTYwpdvpuAj8p8sSodRjOxoA7Vu67CIbbXz55gtghk,9231
|
|
159
157
|
synapse/lib/trigger.py,sha256=mnfkoBHB88JfqPoxb5oflvAaBKZpNvYdxP247YS53fE,20697
|
|
160
|
-
synapse/lib/types.py,sha256=
|
|
158
|
+
synapse/lib/types.py,sha256=u89ukW38oDziRzeA6IWrPwwPD0Ds75u-gwJSXsQ4loY,69708
|
|
161
159
|
synapse/lib/urlhelp.py,sha256=j-DvWGi-xH0TcO0NbCuwG7guUuiV8wxIxfMyJOzDygo,2523
|
|
162
|
-
synapse/lib/version.py,sha256=
|
|
160
|
+
synapse/lib/version.py,sha256=57HvpCRODByujSSPEEre91DclVaeCWPaWJiChgN0PYI,7162
|
|
163
161
|
synapse/lib/view.py,sha256=bP1lMl8Wm0yaMIlc4cfwobm5ojNzMsWguPFnPUkKhoM,60567
|
|
164
162
|
synapse/lib/crypto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
163
|
synapse/lib/crypto/coin.py,sha256=_dhlkzIrHT8BvHdJOWK7PDThz3sK3dDRnWAUqjRpZJc,4910
|
|
@@ -199,7 +197,7 @@ synapse/lib/stormlib/log.py,sha256=wdV-lqzQMM0C3GXNJKJKvkSKjk0CBsUfjd-Cl06LOtE,7
|
|
|
199
197
|
synapse/lib/stormlib/macro.py,sha256=7iQ18mCaNZcslmfXGQvOmGQ71HxD7JeDp0HDmu5-EKM,8807
|
|
200
198
|
synapse/lib/stormlib/math.py,sha256=3RKHj40GkYFiJSINa2AZZOAA-GqqeEP98bWw2JNity8,1149
|
|
201
199
|
synapse/lib/stormlib/mime.py,sha256=WMDAcUiF8RkABKL8EUOScrO77pwi5EHPTko7hI2FPIE,1095
|
|
202
|
-
synapse/lib/stormlib/model.py,sha256=
|
|
200
|
+
synapse/lib/stormlib/model.py,sha256=6I0JVJUqBnWAo4x-l40SndrynaPjHZ7fxb1VzmXtbDw,53385
|
|
203
201
|
synapse/lib/stormlib/modelext.py,sha256=h_uGVK-OjsFXOC--W-2WwTKVWIhDnWatSa2CRAHo4ZE,13073
|
|
204
202
|
synapse/lib/stormlib/notifications.py,sha256=6y1YuMavQs34WwnW5D_KrLPZ0DQlQKg5VFU56sounSA,3305
|
|
205
203
|
synapse/lib/stormlib/oauth.py,sha256=hgfjI--w8vbvgNbGvZlzINTOEdQv68nk5mB27CkC93M,13011
|
|
@@ -239,7 +237,7 @@ synapse/models/files.py,sha256=tGb7sCb06Ehg-LmjFgA3TtJPzNHUUXcMCv-KgPgB4iU,33512
|
|
|
239
237
|
synapse/models/geopol.py,sha256=QbSw5hhXVeOhGcB6oP1v4TPsYPbeK_3tQIYs_dLt_eU,11256
|
|
240
238
|
synapse/models/geospace.py,sha256=MY1vPyZXBCQ4GJPj0RCvx0WGaYy0Rue03WfKzMCteko,19345
|
|
241
239
|
synapse/models/inet.py,sha256=4iIbIW2yO5wuwR65b4ORjgPUNpviNT_XeAEgJv2Cdjg,168035
|
|
242
|
-
synapse/models/infotech.py,sha256=
|
|
240
|
+
synapse/models/infotech.py,sha256=wHY8J7tnRRcgVhur-x9tDtnh7IxLs4Mbf71GaBTi8Uc,148771
|
|
243
241
|
synapse/models/language.py,sha256=hBVVIf5kc_FSIV7HZhWnberoc9ssxuqeff4fqC9iz4o,3640
|
|
244
242
|
synapse/models/material.py,sha256=d-nonZKyJpHc32ebghtkm5tSifwVFN_ctx2kb8N4NqI,3214
|
|
245
243
|
synapse/models/math.py,sha256=5zDLSwGbOcWI6T5-KspPL20sR8Bcs59pnRK2nEELzss,1775
|
|
@@ -248,7 +246,7 @@ synapse/models/orgs.py,sha256=1HtWF9WzQfmoeYQ7soEd5KV_kX1nLd_hRxILWA9F-g4,67702
|
|
|
248
246
|
synapse/models/person.py,sha256=-YJh_KgEvL4a0ArdBX1xirMQy_8YZGyaA04Mq7Hg_VQ,27193
|
|
249
247
|
synapse/models/planning.py,sha256=vmrY4d3WRxizrNU1YBe36NGZTuuu4lhGS8KI5lCZ5yQ,7302
|
|
250
248
|
synapse/models/proj.py,sha256=rf4LdyBJV1c1I_dR9zF-jOmmgj7ZKi9g25HVF9uStFk,10031
|
|
251
|
-
synapse/models/risk.py,sha256=
|
|
249
|
+
synapse/models/risk.py,sha256=B9NwNA1mpT5vlZa09Xz5BsSAIbuocoWtbArEahLGG1E,52682
|
|
252
250
|
synapse/models/science.py,sha256=oSkKbjmVncYcVkVgx8rhM08XtcsgDgjf3mpunz5kL30,4329
|
|
253
251
|
synapse/models/syn.py,sha256=oY6NTeDNUw0fv7wku8ieB1PqoZ-3qac0Chmdm8kk5Ds,13565
|
|
254
252
|
synapse/models/telco.py,sha256=1BdnFr6Cyb1ZPtekIXaoUuRjISfJnIerTklQUEk_MzE,15273
|
|
@@ -267,13 +265,12 @@ synapse/servers/jsonstor.py,sha256=cnt0PESw5qHunEVHCyT-eKOWgywMqe0WNPDtljVgt3c,2
|
|
|
267
265
|
synapse/servers/stemcell.py,sha256=nHACvCWqG2zWTYIo8QvSWi5EBXgYI_3XX7d1-K7xjvg,1192
|
|
268
266
|
synapse/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
267
|
synapse/tests/nopmod.py,sha256=sVRGWOVSzYYkDLonKTWbWU4PHYGDRkrUDyS1UEbdqgQ,70
|
|
270
|
-
synapse/tests/test_assets.py,sha256=M9SG1b0nXjzDSdVknBTMEKA02Mm2N2n8mMJs7WZxz20,783
|
|
271
268
|
synapse/tests/test_axon.py,sha256=qsxQHJZI9vexja56bNoXIHn7My58izAEl06sgnnx-Ho,47521
|
|
272
269
|
synapse/tests/test_cmds_boss.py,sha256=SdBwM2qJHFzzfrjWYiZOLBKeye8uru7KeJ3NU_YSkWw,4718
|
|
273
270
|
synapse/tests/test_cmds_cortex.py,sha256=LWFz8HyuvsIGjtz2DqXYh-R-5QbiQWzLlQKqew7gabY,17157
|
|
274
271
|
synapse/tests/test_cmds_hive.py,sha256=aRH_Gh8oF_1BsfpmffyhDDNIqnTqsuF2cavdtGke1-0,5912
|
|
275
272
|
synapse/tests/test_common.py,sha256=2SAJ4M2iLdZuPPV-j16QVwE073VrikyW75cYTPRMjWI,16940
|
|
276
|
-
synapse/tests/test_cortex.py,sha256=
|
|
273
|
+
synapse/tests/test_cortex.py,sha256=3U1fIh-eNtlQ3PEWZR6hw-EbibUQChXfVaHogVyIrd0,354051
|
|
277
274
|
synapse/tests/test_cryotank.py,sha256=ms2VkL0aUskMi-LArTzRt8LUYw0z_y8nQfOOBDiCkvI,12027
|
|
278
275
|
synapse/tests/test_daemon.py,sha256=QqKELhm1HF0q_8Kbk0Uf9fnUg3K5nLQ7MocGIyuKKIw,7715
|
|
279
276
|
synapse/tests/test_data.py,sha256=f8L-q6kpMq8XPG3hq1jwlyaFRQEinSBf7ZlsRFeCuoM,196
|
|
@@ -286,10 +283,10 @@ synapse/tests/test_lib_aha.py,sha256=nRHs14-LtnsSRi-C7nRu24g3ENN-R3S-0Uk8Oq2LVy4
|
|
|
286
283
|
synapse/tests/test_lib_ast.py,sha256=il-g_TeEkfTSNbw70Ep9aWmuu9jMAesHceRz6sKekFw,180194
|
|
287
284
|
synapse/tests/test_lib_auth.py,sha256=NnRMiGfVm4SQmDEBTSs1aJ1g7TKmFs3Vi8udOKJ3GaM,37815
|
|
288
285
|
synapse/tests/test_lib_autodoc.py,sha256=H2XO2_d8FmsHUd-cn7M-LjTX-078xLhMiOGiGGk5Oj0,8381
|
|
289
|
-
synapse/tests/test_lib_base.py,sha256=
|
|
286
|
+
synapse/tests/test_lib_base.py,sha256=0XUGNaXmfDW896gpBTYYd7ovADUD8cyDLkGTefqn1FM,14550
|
|
290
287
|
synapse/tests/test_lib_boss.py,sha256=gZEuJnMO99Fu9gQ7Ct0g67umBW5XFCs8vcwInB5qr14,1598
|
|
291
288
|
synapse/tests/test_lib_cache.py,sha256=oQgEBhm8pZFCEvMfcD3znTDQgl8Gv91fEOB-3eb2IIg,8594
|
|
292
|
-
synapse/tests/test_lib_cell.py,sha256=
|
|
289
|
+
synapse/tests/test_lib_cell.py,sha256=M_OGjNGDd9F6Q2HryXY3Bl5u150ZLm5Gd0HT05QsPgA,143087
|
|
293
290
|
synapse/tests/test_lib_certdir.py,sha256=d5X1lvp0DnBRigXYLbofZAXakZp440-bjaMH30PlGsI,42728
|
|
294
291
|
synapse/tests/test_lib_chop.py,sha256=LkrM_pQU_KS88aVRPD4DI97qSdhxmw6EUA_jb-UJpww,6238
|
|
295
292
|
synapse/tests/test_lib_cli.py,sha256=B8qGx9KtTWp31RlCMtfFMzhJ0TzaaO9ph7RCK2jHtx4,9283
|
|
@@ -315,7 +312,7 @@ synapse/tests/test_lib_jsonstor.py,sha256=1AebkkDAqFhd_mUyjpGviAUq_n0XFUzeuBxPev
|
|
|
315
312
|
synapse/tests/test_lib_layer.py,sha256=duZUqyqwgRk8RSvVsnV1GCEBOlRl6y84-usWXZdP-Wk,94557
|
|
316
313
|
synapse/tests/test_lib_link.py,sha256=sTRctDa6s9cmQ6ODoV4ifC3eQhEyXOhX2AkHMQHFHls,10204
|
|
317
314
|
synapse/tests/test_lib_lmdbslab.py,sha256=868e9x7HQppILxjQpEcDWto6sjyEyidd5oQEDcVKSX4,65666
|
|
318
|
-
synapse/tests/test_lib_modelrev.py,sha256=
|
|
315
|
+
synapse/tests/test_lib_modelrev.py,sha256=cP0gokBJJ9yBak6YPO7slfCrwy9DksYXc0jxznj89tE,80480
|
|
319
316
|
synapse/tests/test_lib_module.py,sha256=h2OyCW4HW-ZFiJBNQtZ-sPLjsnrlLdTFHQPaXpA8cds,3923
|
|
320
317
|
synapse/tests/test_lib_msgpack.py,sha256=_cS-Kzap6InQstBH0nCgFj9HoVO_tB2dj7D2zCa2miU,10056
|
|
321
318
|
synapse/tests/test_lib_multislabseqn.py,sha256=ujIp3VkFRhPURx3Js9nklXJ4aYup8UTrcLg7X96lrDs,17425
|
|
@@ -332,7 +329,7 @@ synapse/tests/test_lib_scrape.py,sha256=ZAbt-obxC9x7WN--pMPq8fU3ZLyKX_aDFSStwJYW
|
|
|
332
329
|
synapse/tests/test_lib_slaboffs.py,sha256=FHQ8mGZ27dGqVwGk6q2UJ4gkPRZN22eIVzS8hMPkD9c,756
|
|
333
330
|
synapse/tests/test_lib_slabseqn.py,sha256=74V6jU7DRTsy_hqUFDuT4C6dPlJ6ObNnjmI9qhbbyVc,5230
|
|
334
331
|
synapse/tests/test_lib_snap.py,sha256=OviJtj9N5LhBV-56TySkWvRly7f8VH9d-VBcNFLAtmg,27805
|
|
335
|
-
synapse/tests/test_lib_spooled.py,sha256=
|
|
332
|
+
synapse/tests/test_lib_spooled.py,sha256=fkLuujrDqjeJtyByptmGZvJbM9QiETCAu4r_4PdLfZg,3929
|
|
336
333
|
synapse/tests/test_lib_storm.py,sha256=2cmkPI_wmmXhURTq-8f_rtq96iajB8mK1EROE2HDP0c,226103
|
|
337
334
|
synapse/tests/test_lib_storm_format.py,sha256=tEZgQMmKAeG8FQZE5HUjOT7bnKawVTpNaVQh_3Wa630,277
|
|
338
335
|
synapse/tests/test_lib_stormhttp.py,sha256=ZS8iONsisWjEi2CXx9AttiQ9bOrPs9x4GCwXlJEB_u0,42592
|
|
@@ -359,7 +356,7 @@ synapse/tests/test_lib_stormlib_json.py,sha256=Ds8YsNXHDBg_yNxOrBJDKjF9W3tzGzIeO
|
|
|
359
356
|
synapse/tests/test_lib_stormlib_log.py,sha256=pZwEgCou368-MzeDL5jMEARRyswVNKKJ-VuuKjoSmlU,2905
|
|
360
357
|
synapse/tests/test_lib_stormlib_macro.py,sha256=IfGRX6ZAJr_RJGNPq2BKTEPByY90pnYDYdtHp8C1JbQ,18508
|
|
361
358
|
synapse/tests/test_lib_stormlib_mime.py,sha256=ozBJ70XxdrErOmycStWdh1xkBHVnM0BTPHvaP4faC0g,1510
|
|
362
|
-
synapse/tests/test_lib_stormlib_model.py,sha256=
|
|
359
|
+
synapse/tests/test_lib_stormlib_model.py,sha256=yiB_EflrQ34FDUqxKNkyxFc9xtXnksBqYoLg8IifNQ4,31475
|
|
363
360
|
synapse/tests/test_lib_stormlib_modelext.py,sha256=Dxw-pz9eYwL1bFofi8ijCbnTbuLizFxMkGfEWN51Lvw,26168
|
|
364
361
|
synapse/tests/test_lib_stormlib_oauth.py,sha256=rb6ZWyLrWwcDT32VfjdQUg3AurwlhzbQv-kXIfPeRsQ,28858
|
|
365
362
|
synapse/tests/test_lib_stormlib_pack.py,sha256=YSb4dErPM3CeU0piqvhIQF_F1m3YjApo3nA14ewPWf0,1563
|
|
@@ -375,7 +372,7 @@ synapse/tests/test_lib_stormlib_vault.py,sha256=pE_nDisXiyb-4Zm1hOrfsuEz3bjYwR8c
|
|
|
375
372
|
synapse/tests/test_lib_stormlib_xml.py,sha256=dWa9NkXXE28VZ3bTmMDbddo7VpUKsSEHTS1ojJr-F90,3704
|
|
376
373
|
synapse/tests/test_lib_stormlib_yaml.py,sha256=egTVXk8wW31V2msF__9WxP3THcqfysG1mYhc7hQG8rw,1358
|
|
377
374
|
synapse/tests/test_lib_stormsvc.py,sha256=J5-bmS_M3nkmJtmgUjyh7_vSwEzw_TxcMwe6q5ah1e8,43887
|
|
378
|
-
synapse/tests/test_lib_stormtypes.py,sha256=
|
|
375
|
+
synapse/tests/test_lib_stormtypes.py,sha256=FGOhXvz6fbtcj0v-6FrMgJ75AhCq43QWiw-KbhkUEHw,309850
|
|
379
376
|
synapse/tests/test_lib_stormwhois.py,sha256=AWMUYEgZ5yqvDfPC_rM4evmhgfOA_Fv5aoTjmKmN1_0,4818
|
|
380
377
|
synapse/tests/test_lib_structlog.py,sha256=DGfzrfc2nybRq5RjwiUXd1v4sC5zl8d46RHgTmFD0iA,3964
|
|
381
378
|
synapse/tests/test_lib_task.py,sha256=Zby9Evlg_mBwE3_aF7p_5PIMhWp2Er7Y-ye4Y-3L5RQ,1646
|
|
@@ -404,7 +401,7 @@ synapse/tests/test_model_gov_cn.py,sha256=FnfKNM_wnvmScLm4cYFSQXZ21kVaTPPDusiCD7
|
|
|
404
401
|
synapse/tests/test_model_gov_intl.py,sha256=v5BZhQnoMurzZYhM9hkzALzQzp92KidweYxVlghXDws,770
|
|
405
402
|
synapse/tests/test_model_gov_us.py,sha256=kvZ9DudBrbKtZmqGm8X-b_IOw4oJ7XZMnvTgiDkzsrY,1525
|
|
406
403
|
synapse/tests/test_model_inet.py,sha256=vJs4OjwY9Bx3H9YfxuGse-hWQ_Cd7sSv17S_7fK4NUU,150463
|
|
407
|
-
synapse/tests/test_model_infotech.py,sha256=
|
|
404
|
+
synapse/tests/test_model_infotech.py,sha256=_fC1TP21x5vfvHjZtJMM6fQUVtXZs3SP9X09wuFYqyA,110873
|
|
408
405
|
synapse/tests/test_model_language.py,sha256=49stF1B8_EwWJB67Xa5VXCG563Zfbr6S85iKN9Iom48,3046
|
|
409
406
|
synapse/tests/test_model_material.py,sha256=M7ACDCuMtavm-xtwAIZa1M-bHVq5PCUedDfR-Ty9_F4,1975
|
|
410
407
|
synapse/tests/test_model_math.py,sha256=x-rHBfm-59ueZdHXXzSi53eshldvVURoJeLeexWTL2U,826
|
|
@@ -413,7 +410,7 @@ synapse/tests/test_model_orgs.py,sha256=x_pnxhOS2IkGTMB-BMM8CeeizlecBEiHyE9cprd2
|
|
|
413
410
|
synapse/tests/test_model_person.py,sha256=6Zj_dnOyY4axLvl7VKCEYGtwVlnEYqKSg5kOi3Brp9s,17322
|
|
414
411
|
synapse/tests/test_model_planning.py,sha256=U2kkE0uBO6CqtTfy7wlnhEIu_NFdSri4I_I5b-mRjBE,5615
|
|
415
412
|
synapse/tests/test_model_proj.py,sha256=bBPNzvcbd1jZReeJ7X-AQdH7F7ZMugZVgaCTvS-QNFM,22849
|
|
416
|
-
synapse/tests/test_model_risk.py,sha256=
|
|
413
|
+
synapse/tests/test_model_risk.py,sha256=uDeGAoSFXJArTv3zDf5_qk6giqYAb0Beda8oVr4h75I,28253
|
|
417
414
|
synapse/tests/test_model_science.py,sha256=2T9VxdzpltDufgjkUB95q97TQP9AxH2-T_sBbHfPDRk,2450
|
|
418
415
|
synapse/tests/test_model_syn.py,sha256=9yWzWRSBI3rjv7hu3MUE9KuE00n4GxxlQmxDvQJj6gw,23028
|
|
419
416
|
synapse/tests/test_model_telco.py,sha256=5ToiRhCX7faiDx4lDMV6b7E9WteN3PcBlznYF6GA2co,13166
|
|
@@ -450,6 +447,7 @@ synapse/tests/test_tools_pullfile.py,sha256=BloDoe1iBUlUSGQBU3TXFXU8sPFI3wRJHEp_
|
|
|
450
447
|
synapse/tests/test_tools_pushfile.py,sha256=evX1aPxWvmhoS4ZmB0q6jMqIPYzQ9nqWB1XAJRipOcw,5611
|
|
451
448
|
synapse/tests/test_tools_reload.py,sha256=IlVj84EM-T35pdE5s9XvMhD6rWPIlc2BSDUgHhw28D4,1830
|
|
452
449
|
synapse/tests/test_tools_rstorm.py,sha256=-bIvNCY9Vx702LsNb2vwunZBT6fyXHse28Av6Hfgx1s,2078
|
|
450
|
+
synapse/tests/test_tools_snapshot.py,sha256=MfMq8ij4Ztxrn0D_iVYXRGSHI1_rQzEybexjlraeSaQ,1750
|
|
453
451
|
synapse/tests/test_tools_storm.py,sha256=QkyPX4HS67n1q4LbmsCGF9yUSyMLHK4BjNRX3JCgy1w,18437
|
|
454
452
|
synapse/tests/test_utils.py,sha256=sI-uDhUpkVQHSKHa2-czmWNvyXL2QTsCojtPAV2jueI,8688
|
|
455
453
|
synapse/tests/test_utils_getrefs.py,sha256=bBV7yZ9tnOXmjqpsU1YKV5pw0behoKpzpwHJDxLjmLs,2304
|
|
@@ -524,7 +522,7 @@ synapse/tools/autodoc.py,sha256=-esajH0-4ftIJHzW93t7FwQEJ4WsvH8iV5em_sf1Wlw,3508
|
|
|
524
522
|
synapse/tools/axon2axon.py,sha256=FOaBLUrHH-r5Vw8FABwfTNGn_fJCg7jJxtP0ALpJUGM,1654
|
|
525
523
|
synapse/tools/backup.py,sha256=Cz3OSaYMRND7gE55FdyjrBr3C1_qd68yJ23O4-mukCM,5969
|
|
526
524
|
synapse/tools/cellauth.py,sha256=2ACKpOsOK_9F1B-HV5qhzGORSN7MhlElkL01Q710M1k,12122
|
|
527
|
-
synapse/tools/changelog.py,sha256=
|
|
525
|
+
synapse/tools/changelog.py,sha256=uuXsN_tk6Lm_zlijTXBRrBoXNe0vgOGKBPL8KupdxqA,45529
|
|
528
526
|
synapse/tools/cmdr.py,sha256=VdXzGU6ekhgvO0LmXFQlIWwH-T0v_q0VBZsKqONmhlg,1692
|
|
529
527
|
synapse/tools/csvtool.py,sha256=n3TB1qLgb7-0Du6Z6CZtu2vxaHUtzncwr2aQmQjgzi0,7477
|
|
530
528
|
synapse/tools/easycert.py,sha256=naoYnWfg0m6NrBraKUVk3FK5OW53yVBZH8rv6RrXRH8,4531
|
|
@@ -533,23 +531,24 @@ synapse/tools/genpkg.py,sha256=THmrgT9inhECQEbK_08suOdFSwOp6auKo2XQe4mIVmg,9924
|
|
|
533
531
|
synapse/tools/guid.py,sha256=UCBFqUSBdXt5WJYcoP0Vme_oOUXU040DZJEpay4uZHk,300
|
|
534
532
|
synapse/tools/healthcheck.py,sha256=sps01sVTVb3kb--vRNotn7HkkZVZ5wSu6VeiOuK_l-g,3314
|
|
535
533
|
synapse/tools/json2mpk.py,sha256=KEfNOY7m9lTBj2g2fYfe6OpqC1D0a7kvI0orl_ZGp_0,1360
|
|
536
|
-
synapse/tools/livebackup.py,sha256=
|
|
534
|
+
synapse/tools/livebackup.py,sha256=BNgXTYtU6EewonG5vgewF0RDEISiD9XLYn3SLgybnWM,1222
|
|
537
535
|
synapse/tools/modrole.py,sha256=q8BDlOaqKVj2c0AJVSd7hL3RoJlUFJLuEkL1bfrk6Fg,4748
|
|
538
536
|
synapse/tools/moduser.py,sha256=ydk9Lf7zm0MysP1tgM1rh53fkpulIiNeyuOLFrDW0bU,7834
|
|
539
|
-
synapse/tools/promote.py,sha256=
|
|
537
|
+
synapse/tools/promote.py,sha256=J1wRkYHFUaXha92hrQ9RqG-cHdH1u-QrMvax50YSRjE,1769
|
|
540
538
|
synapse/tools/pullfile.py,sha256=QAwejVke8d2zvkyNT6-HyAkRy4wF5FE3FYZAryaFHXI,2042
|
|
541
539
|
synapse/tools/pushfile.py,sha256=0y9IKfkiRXkFpvHk9hX4CEey-HEpdXWE_b056w1ijKI,4202
|
|
542
540
|
synapse/tools/reload.py,sha256=Jr5j-kSxWX6S-cUv1AnQMfukohLPCH9EjN4Pv-uMO-E,2724
|
|
543
541
|
synapse/tools/rstorm.py,sha256=E6ggQYlsD7j4VqwunrVBVRfsLJpVcTBCigZfu3PWJqA,1057
|
|
542
|
+
synapse/tools/snapshot.py,sha256=L3nMTYM0iGY-37Js7NHDy2IctRd0uwQDA2CRuylfVRk,2154
|
|
544
543
|
synapse/tools/storm.py,sha256=TUmxM0YH0WsD4Haab5TEUZtq-zfywMDjoRPpGo-HUBo,20758
|
|
545
544
|
synapse/tools/aha/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
546
|
-
synapse/tools/aha/clone.py,sha256
|
|
547
|
-
synapse/tools/aha/easycert.py,sha256=
|
|
548
|
-
synapse/tools/aha/enroll.py,sha256=
|
|
545
|
+
synapse/tools/aha/clone.py,sha256=-K-p1J5Ay5SAm80VZy9ysYvqwq6jnFGHeCewGxyKbHM,1689
|
|
546
|
+
synapse/tools/aha/easycert.py,sha256=GlVVLc1TS_vMhNTrgiBylOfzfc8Y96isFRQg-8r8xn4,3078
|
|
547
|
+
synapse/tools/aha/enroll.py,sha256=oGdbWj1yQVfeXYopI-VtJW5CBsZhKv9B41hje4cK7fw,3276
|
|
549
548
|
synapse/tools/aha/list.py,sha256=feeYRnsfEEHlkqI4xZXKSLmUrpXq_nb0AHE22RJ8eZc,2709
|
|
550
549
|
synapse/tools/aha/provision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
551
|
-
synapse/tools/aha/provision/service.py,sha256=
|
|
552
|
-
synapse/tools/aha/provision/user.py,sha256=
|
|
550
|
+
synapse/tools/aha/provision/service.py,sha256=fhyQELilvABzzwEoZvRU6hGdLon6f10_kWM5MSMkG6I,3262
|
|
551
|
+
synapse/tools/aha/provision/user.py,sha256=nDGA7TiZCvik9GCnMhioGpuCi8eV0fW67Yr_axhblQA,1895
|
|
553
552
|
synapse/tools/cryo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
554
553
|
synapse/tools/cryo/cat.py,sha256=ELok5rGIQE8mUCN8NXbwlQJFLQcMSqdSZiV_8f4JUuw,2702
|
|
555
554
|
synapse/tools/cryo/list.py,sha256=Xhxm50WFFCkDFCtNnks3xt5-VzrdYvzaGqN8PPHqf3g,843
|
|
@@ -603,8 +602,8 @@ synapse/vendor/xrpl/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
603
602
|
synapse/vendor/xrpl/tests/test_codec.py,sha256=Zwq6A5uZUK_FWDL3BA932c5b-rL3hnC6efobWHSLC4o,6651
|
|
604
603
|
synapse/vendor/xrpl/tests/test_main.py,sha256=kZQwWk7I6HrP-PMvLdsUUN4POvWD9I-iXDHOwdeF090,4299
|
|
605
604
|
synapse/vendor/xrpl/tests/test_main_test_cases.py,sha256=vTlUM4hJD2Hd2wCIdd9rfsvcMZZZQmNHWdCTTFeGz2Y,4221
|
|
606
|
-
synapse-2.
|
|
607
|
-
synapse-2.
|
|
608
|
-
synapse-2.
|
|
609
|
-
synapse-2.
|
|
610
|
-
synapse-2.
|
|
605
|
+
synapse-2.187.0.dist-info/LICENSE,sha256=xllut76FgcGL5zbIRvuRc7aezPbvlMUTWJPsVr2Sugg,11358
|
|
606
|
+
synapse-2.187.0.dist-info/METADATA,sha256=4gFQ4HZha5_h28ATU7M2IFv9GNmqgDUD3mupZFhd2ak,4598
|
|
607
|
+
synapse-2.187.0.dist-info/WHEEL,sha256=V9njg5PXytSyv_DtLjFqv-lPwlYJ-pVdrLhmVh7fan0,93
|
|
608
|
+
synapse-2.187.0.dist-info/top_level.txt,sha256=v_1YsqjmoSCzCKs7oIhzTNmWtSYoORiBMv1TJkOhx8A,8
|
|
609
|
+
synapse-2.187.0.dist-info/RECORD,,
|
synapse/assets/__init__.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import logging
|
|
3
|
-
|
|
4
|
-
import synapse.common as s_common
|
|
5
|
-
|
|
6
|
-
logger = logging.getLogger(__name__)
|
|
7
|
-
dirname = os.path.dirname(__file__)
|
|
8
|
-
|
|
9
|
-
def getStorm(*names):
|
|
10
|
-
'''
|
|
11
|
-
Return a storm file from the synapse storm folder.
|
|
12
|
-
|
|
13
|
-
Example:
|
|
14
|
-
|
|
15
|
-
text = storm.get('migrate.storm')
|
|
16
|
-
await core.callStorm(text)
|
|
17
|
-
|
|
18
|
-
Example #2:
|
|
19
|
-
text = storm.get('migrations', 'model-0.2.28.storm')
|
|
20
|
-
await core.callStorm(text)
|
|
21
|
-
'''
|
|
22
|
-
fp = getAssetPath('storm', *names)
|
|
23
|
-
with open(fp, 'rb') as fd:
|
|
24
|
-
text = fd.read()
|
|
25
|
-
return text.decode('utf8')
|
|
26
|
-
|
|
27
|
-
def getAssetPath(*names):
|
|
28
|
-
fp = s_common.genpath(dirname, *names)
|
|
29
|
-
if not fp.startswith(dirname):
|
|
30
|
-
logger.error(f'{fp} is not in {dirname}')
|
|
31
|
-
raise ValueError(f'Path escaping detected for {names}')
|
|
32
|
-
if not os.path.isfile(fp):
|
|
33
|
-
logger.error('{} does not exist'.format(fp))
|
|
34
|
-
raise ValueError(f'Asset does not exist for {names}')
|
|
35
|
-
return fp
|
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
$layers = $lib.spooled.set()
|
|
2
|
-
$layers.adds($layridens)
|
|
3
|
-
|
|
4
|
-
$refinfoCache = ({})
|
|
5
|
-
|
|
6
|
-
function getRefInfo(formname) {
|
|
7
|
-
$cached = $refinfoCache.$formname
|
|
8
|
-
if $cached { return($cached) }
|
|
9
|
-
|
|
10
|
-
$refinfo = ([])
|
|
11
|
-
|
|
12
|
-
syn:prop:type*in=($formname, array, ndef)
|
|
13
|
-
// Don't include the form we're querying
|
|
14
|
-
-:form = $formname
|
|
15
|
-
|
|
16
|
-
$prop = $lib.model.prop($node.repr())
|
|
17
|
-
$proptype = $prop.type.name
|
|
18
|
-
|
|
19
|
-
// Don't include array types that don't have a base type of $formname or ndef
|
|
20
|
-
-$($proptype = 'array' and not ([$formname, 'ndef']).has($prop.type.opts.type))
|
|
21
|
-
|
|
22
|
-
$isarray = $lib.false
|
|
23
|
-
|
|
24
|
-
if ($proptype = 'array') {
|
|
25
|
-
$isarray = $lib.true
|
|
26
|
-
$proptype = $prop.type.opts.type
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
$refinfo.append((:form, $prop.name, $proptype, $isarray))
|
|
30
|
-
|
|
31
|
-
fini {
|
|
32
|
-
$refinfoCache.$formname = $refinfo
|
|
33
|
-
return($refinfo)
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function removeNode(n, viewiden, layriden) {
|
|
38
|
-
|
|
39
|
-
$nodeq = $lib.queue.gen("model_0_2_28:nodes")
|
|
40
|
-
$refsq = $lib.queue.gen("model_0_2_28:nodes:refs")
|
|
41
|
-
$edgeq = $lib.queue.gen("model_0_2_28:nodes:edges")
|
|
42
|
-
|
|
43
|
-
$sources = ([])
|
|
44
|
-
|
|
45
|
-
$iden = $n.iden()
|
|
46
|
-
$repr = $n.repr()
|
|
47
|
-
$form = $n.form()
|
|
48
|
-
$ndef = $n.ndef()
|
|
49
|
-
|
|
50
|
-
$lib.log.debug(`Saving invalid {$form} node info: {$repr}`)
|
|
51
|
-
|
|
52
|
-
$refinfos = $getRefInfo($form)
|
|
53
|
-
|
|
54
|
-
for $view in $lib.view.list(deporder=$lib.true) {
|
|
55
|
-
if (not $layers.has($view.layers.0.iden)) { continue }
|
|
56
|
-
|
|
57
|
-
view.exec $view.iden {
|
|
58
|
-
$edges = ([])
|
|
59
|
-
$references = ([])
|
|
60
|
-
|
|
61
|
-
// Get references and store them in queue
|
|
62
|
-
for $refinfo in $refinfos {
|
|
63
|
-
|
|
64
|
-
($formname, $propname, $proptype, $isarray) = $refinfo
|
|
65
|
-
if ($proptype = "ndef") {
|
|
66
|
-
$oldvalu = $ndef
|
|
67
|
-
} else {
|
|
68
|
-
$oldvalu = $repr
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
for $ref in $lib.model.migration.liftByPropValuNoNorm($formname, $propname, $oldvalu) {
|
|
72
|
-
yield $ref
|
|
73
|
-
|
|
74
|
-
if $isarray {
|
|
75
|
-
|
|
76
|
-
// We can't just [ :$propname-=$oldvalu ] because the norm() function gets called on the array type
|
|
77
|
-
// deep down in the AST. So, instead, we have to operate on the whole array.
|
|
78
|
-
|
|
79
|
-
$list = $lib.copy(:$propname)
|
|
80
|
-
$list.rem($oldvalu, all=$lib.true)
|
|
81
|
-
|
|
82
|
-
if $list {
|
|
83
|
-
$lib.model.migration.setNodePropValuNoNorm($node, $propname, $list)
|
|
84
|
-
} else {
|
|
85
|
-
[ -:$propname ]
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
} else {
|
|
89
|
-
try {
|
|
90
|
-
[ -:$propname ]
|
|
91
|
-
} catch ReadOnlyProp as exc {
|
|
92
|
-
// The property is readonly so we can only delete it
|
|
93
|
-
$lib.log.warning(`{$formname}:{$propname} is readonly, cannot modify. Storing node: {$node.repr()}`)
|
|
94
|
-
$removeNode($node, $view.iden, $view.layers.0.iden)
|
|
95
|
-
| delnode |
|
|
96
|
-
continue
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
$ref = ({
|
|
101
|
-
"iden": $node.iden(),
|
|
102
|
-
"refinfo": $refinfo,
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
$references.append($ref)
|
|
106
|
-
|
|
107
|
-
// Flush to the queue if the list grows too large
|
|
108
|
-
if ($references.size() > 1000) { // pragma: no cover start
|
|
109
|
-
$item = ({
|
|
110
|
-
"iden": $iden,
|
|
111
|
-
"view": $view.iden,
|
|
112
|
-
"refs": $references,
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
$refsq.put($item)
|
|
116
|
-
$references = ([])
|
|
117
|
-
} // pragma: no cover stop
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if $references {
|
|
122
|
-
$item = ({
|
|
123
|
-
"iden": $iden,
|
|
124
|
-
"view": $view.iden,
|
|
125
|
-
"refs": $references,
|
|
126
|
-
})
|
|
127
|
-
|
|
128
|
-
$refsq.put($item)
|
|
129
|
-
$references = ([])
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
spin |
|
|
133
|
-
|
|
134
|
-
yield $iden |
|
|
135
|
-
|
|
136
|
-
// Get sources and store them in the queue
|
|
137
|
-
// Do this before we store/delete edges.
|
|
138
|
-
{ <(seen)- meta:source
|
|
139
|
-
$sources.append($node.repr())
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Get N1 edges and store them in the queue
|
|
143
|
-
{ for $edge in $node.edges() {
|
|
144
|
-
($verb, $dst) = $edge
|
|
145
|
-
$edges.append($edge)
|
|
146
|
-
|
|
147
|
-
[ -($verb)> { yield $dst } ]
|
|
148
|
-
|
|
149
|
-
// Flush to the queue if the list grows too large
|
|
150
|
-
if ($edges.size() > 1000) { // pragma: no cover start
|
|
151
|
-
$item = ({
|
|
152
|
-
"iden": $iden,
|
|
153
|
-
"view": $view.iden,
|
|
154
|
-
"direction": "n1",
|
|
155
|
-
"edges": $edges,
|
|
156
|
-
})
|
|
157
|
-
|
|
158
|
-
$edgeq.put($item)
|
|
159
|
-
$edges = ([])
|
|
160
|
-
} // pragma: no cover stop
|
|
161
|
-
}}
|
|
162
|
-
|
|
163
|
-
if $edges {
|
|
164
|
-
$item = ({
|
|
165
|
-
"iden": $iden,
|
|
166
|
-
"view": $view.iden,
|
|
167
|
-
"direction": "n1",
|
|
168
|
-
"edges": $edges,
|
|
169
|
-
})
|
|
170
|
-
|
|
171
|
-
$edgeq.put($item)
|
|
172
|
-
$edges = ([])
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Get N2 edges and store them in the queue
|
|
176
|
-
{ for $edge in $node.edges(reverse=$lib.true) {
|
|
177
|
-
($verb, $src) = $edge
|
|
178
|
-
$edges.append($edge)
|
|
179
|
-
|
|
180
|
-
[ <($verb)- { yield $src } ]
|
|
181
|
-
|
|
182
|
-
// Flush to the queue if the list grows too large
|
|
183
|
-
if ($edges.size() > 1000) { // pragma: no cover start
|
|
184
|
-
$item = ({
|
|
185
|
-
"iden": $iden,
|
|
186
|
-
"view": $view.iden,
|
|
187
|
-
"direction": "n2",
|
|
188
|
-
"edges": $edges,
|
|
189
|
-
})
|
|
190
|
-
|
|
191
|
-
$edgeq.put($item)
|
|
192
|
-
$edges = ([])
|
|
193
|
-
} // pragma: no cover stop
|
|
194
|
-
}}
|
|
195
|
-
|
|
196
|
-
if $edges {
|
|
197
|
-
$item = ({
|
|
198
|
-
"iden": $iden,
|
|
199
|
-
"view": $view.iden,
|
|
200
|
-
"direction": "n2",
|
|
201
|
-
"edges": $edges,
|
|
202
|
-
})
|
|
203
|
-
|
|
204
|
-
$edgeq.put($item)
|
|
205
|
-
$edges = ([])
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
$item = ({
|
|
211
|
-
"iden": $iden,
|
|
212
|
-
"form": $form,
|
|
213
|
-
"repr": $repr,
|
|
214
|
-
"props": $n.props,
|
|
215
|
-
"view": $viewiden,
|
|
216
|
-
"layer": $layriden,
|
|
217
|
-
"tags": $n.tags(),
|
|
218
|
-
"data": $n.data.list(),
|
|
219
|
-
"sources": $sources,
|
|
220
|
-
})
|
|
221
|
-
|
|
222
|
-
$nodeq.put($item)
|
|
223
|
-
|
|
224
|
-
return()
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
function migrateCpeNode(oldcpe, newcpe) {
|
|
228
|
-
|
|
229
|
-
// migrate the edges, tags, node data, and extended props
|
|
230
|
-
$lib.model.migration.copyEdges($oldcpe, $newcpe)
|
|
231
|
-
$lib.model.migration.copyTags($oldcpe, $newcpe)
|
|
232
|
-
$lib.model.migration.copyData($oldcpe, $newcpe)
|
|
233
|
-
$lib.model.migration.copyExtProps($oldcpe, $newcpe)
|
|
234
|
-
|
|
235
|
-
$refinfos = $getRefInfo($oldcpe.form())
|
|
236
|
-
|
|
237
|
-
// Iterate through the views and fix up all the references
|
|
238
|
-
for $view in $lib.view.list(deporder=$lib.true) {
|
|
239
|
-
if (not $layers.has($view.layers.0.iden)) { continue }
|
|
240
|
-
|
|
241
|
-
view.exec $view.iden {
|
|
242
|
-
|
|
243
|
-
// Fix references that point to old node to now point to new node
|
|
244
|
-
for $refinfo in $refinfos {
|
|
245
|
-
($form, $prop, $proptype, $isarray) = $refinfo
|
|
246
|
-
if ($proptype = "ndef") {
|
|
247
|
-
$oldvalu = $oldcpe.ndef()
|
|
248
|
-
$newvalu = $newcpe.ndef()
|
|
249
|
-
} else {
|
|
250
|
-
$oldvalu = $oldcpe.repr()
|
|
251
|
-
$newvalu = $newcpe.repr()
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
for $n in $lib.model.migration.liftByPropValuNoNorm($form, $prop, $oldvalu) {
|
|
255
|
-
yield $n
|
|
256
|
-
|
|
257
|
-
if $isarray {
|
|
258
|
-
|
|
259
|
-
// We can't just [ :$prop-=$oldvalu :$prop+=$newvalu ] because the norm() function gets called
|
|
260
|
-
// on the array type deep down in the AST. So, instead, we have to operate on the whole array.
|
|
261
|
-
|
|
262
|
-
$list = $lib.copy(:$prop)
|
|
263
|
-
$list.rem($oldvalu, all=$lib.true)
|
|
264
|
-
|
|
265
|
-
if (not $list.has($newvalu)) {
|
|
266
|
-
$list.append($newvalu)
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
$lib.model.migration.setNodePropValuNoNorm($node, $prop, $list)
|
|
270
|
-
|
|
271
|
-
} else {
|
|
272
|
-
try {
|
|
273
|
-
[ -:$prop :$prop=$newvalu ]
|
|
274
|
-
} catch ReadOnlyProp as exc {
|
|
275
|
-
// The property is readonly so we can only delete it
|
|
276
|
-
$lib.log.warning(`{$form}:{$prop} is readonly, cannot modify. Storing node: {$node.repr()}`)
|
|
277
|
-
$removeNode($node, $view.iden, $view.layers.0.iden)
|
|
278
|
-
| delnode
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
return()
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
// This is a separate function because I was getting weird bugs from scoping
|
|
291
|
-
// issues. Mainly, the $view variable being overwritten because this code was
|
|
292
|
-
// scoped to the whole script.
|
|
293
|
-
function main() {
|
|
294
|
-
|
|
295
|
-
for $view in $lib.view.list(deporder=$lib.true) {
|
|
296
|
-
|
|
297
|
-
if (not $layers.has($view.layers.0.iden)) { continue }
|
|
298
|
-
|
|
299
|
-
view.exec $view.iden {
|
|
300
|
-
|
|
301
|
-
$layer = $lib.layer.get()
|
|
302
|
-
|
|
303
|
-
for $oldcpe in $layer.liftByProp(it:sec:cpe) {
|
|
304
|
-
$info = $lib.model.migration.s.itSecCpe_2_170_0_internal($oldcpe)
|
|
305
|
-
|
|
306
|
-
if ($info.status = "success") {
|
|
307
|
-
// No primary property changes, nothing to do. Node has been fully migrated.
|
|
308
|
-
if (not $info.valu) {
|
|
309
|
-
continue
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
/*
|
|
313
|
-
* At this point, we have a node that can be fixed but
|
|
314
|
-
* needs to be migrated to a new node because the primary
|
|
315
|
-
* property needs to be changed. We'll create a new
|
|
316
|
-
* (correct) node, and copy everything from the old node.
|
|
317
|
-
* Then we complete the migration by iterating through
|
|
318
|
-
* all the views to fix the references.
|
|
319
|
-
*/
|
|
320
|
-
|
|
321
|
-
$lib.log.debug(`Migrating invalid it:sec:cpe node: {$oldcpe.repr()} -> {$info.valu}`)
|
|
322
|
-
|
|
323
|
-
[ it:sec:cpe=$info.valu
|
|
324
|
-
.seen ?= $oldcpe.props.".seen"
|
|
325
|
-
]
|
|
326
|
-
|
|
327
|
-
$migrateCpeNode($oldcpe, $node)
|
|
328
|
-
|
|
329
|
-
spin |
|
|
330
|
-
|
|
331
|
-
yield $oldcpe |
|
|
332
|
-
delnode --deledges --force
|
|
333
|
-
|
|
334
|
-
} else {
|
|
335
|
-
|
|
336
|
-
// Node could not be automatically migrated. Collect
|
|
337
|
-
// critical information to eventually reconstruct this node
|
|
338
|
-
// and store it in a queue.
|
|
339
|
-
|
|
340
|
-
$removeNode($oldcpe, $view.iden, $view.layers.0.iden)
|
|
341
|
-
|
|
342
|
-
yield $oldcpe |
|
|
343
|
-
delnode --deledges --force
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
return()
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
// Pre-cache the it:sec:cpe references
|
|
353
|
-
$getRefInfo(it:sec:cpe)
|
|
354
|
-
|
|
355
|
-
$main()
|