assemblyline-core 4.5.1.dev223__tar.gz → 4.5.1.dev225__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 assemblyline-core might be problematic. Click here for more details.

Files changed (88) hide show
  1. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/PKG-INFO +1 -1
  2. assemblyline-core-4.5.1.dev225/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/creator/run_worker.py +6 -4
  4. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/loader/run.py +3 -1
  5. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/loader/run_worker.py +9 -0
  6. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core.egg-info/PKG-INFO +1 -1
  7. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_replay.py +2 -2
  8. assemblyline-core-4.5.1.dev223/assemblyline_core/VERSION +0 -1
  9. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/LICENCE.md +0 -0
  10. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/README.md +0 -0
  11. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/__init__.py +0 -0
  12. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/alerter/__init__.py +0 -0
  13. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/alerter/processing.py +0 -0
  14. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/alerter/run_alerter.py +0 -0
  15. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/archiver/__init__.py +0 -0
  16. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/archiver/run_archiver.py +0 -0
  17. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/badlist_client.py +0 -0
  18. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/__init__.py +0 -0
  19. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/__main__.py +0 -0
  20. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/client.py +0 -0
  21. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/dispatcher.py +0 -0
  22. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/schedules.py +0 -0
  23. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/dispatching/timeout.py +0 -0
  24. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/expiry/__init__.py +0 -0
  25. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/expiry/run_expiry.py +0 -0
  26. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/ingester/__init__.py +0 -0
  27. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/ingester/__main__.py +0 -0
  28. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/ingester/constants.py +0 -0
  29. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/ingester/ingester.py +0 -0
  30. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/__init__.py +0 -0
  31. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/es_metrics.py +0 -0
  32. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  33. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/helper.py +0 -0
  34. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/metrics_server.py +0 -0
  35. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  36. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  37. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  38. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/plumber/__init__.py +0 -0
  39. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/plumber/run_plumber.py +0 -0
  40. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/__init__.py +0 -0
  41. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/client.py +0 -0
  42. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/creator/__init__.py +0 -0
  43. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/creator/run.py +0 -0
  44. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/loader/__init__.py +0 -0
  45. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/replay/replay.py +0 -0
  46. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/safelist_client.py +0 -0
  47. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/__init__.py +0 -0
  48. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/collection.py +0 -0
  49. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  50. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  51. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/controllers/interface.py +0 -0
  52. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  53. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/run_scaler.py +0 -0
  54. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/scaler/scaler_server.py +0 -0
  55. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/server_base.py +0 -0
  56. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/signature_client.py +0 -0
  57. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/submission_client.py +0 -0
  58. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/tasking_client.py +0 -0
  59. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/updater/__init__.py +0 -0
  60. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/updater/helper.py +0 -0
  61. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/updater/run_updater.py +0 -0
  62. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/__init__.py +0 -0
  63. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/crawler.py +0 -0
  64. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/department_map.py +0 -0
  65. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/safelist.py +0 -0
  66. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/stream_map.py +0 -0
  67. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/vacuum/worker.py +0 -0
  68. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/workflow/__init__.py +0 -0
  69. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core/workflow/run_workflow.py +0 -0
  70. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  71. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  72. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core.egg-info/requires.txt +0 -0
  73. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/assemblyline_core.egg-info/top_level.txt +0 -0
  74. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/setup.cfg +0 -0
  75. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/setup.py +0 -0
  76. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_alerter.py +0 -0
  77. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_badlist_client.py +0 -0
  78. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_dispatcher.py +0 -0
  79. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_expiry.py +0 -0
  80. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_plumber.py +0 -0
  81. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_safelist_client.py +0 -0
  82. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_scaler.py +0 -0
  83. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_scheduler.py +0 -0
  84. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_signature_client.py +0 -0
  85. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_simulation.py +0 -0
  86. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_vacuum.py +0 -0
  87. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_worker_ingest.py +0 -0
  88. {assemblyline-core-4.5.1.dev223 → assemblyline-core-4.5.1.dev225}/test/test_worker_submit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev223
3
+ Version: 4.5.1.dev225
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.5.1.dev225
@@ -1,6 +1,9 @@
1
1
  import json
2
2
  import os
3
3
 
4
+ from cart import pack_stream
5
+ from io import BytesIO
6
+
4
7
  from assemblyline.filestore import FileStore
5
8
  from assemblyline.common.isotime import now_as_iso
6
9
  from assemblyline_core.replay.client import APIClient, DirectClient
@@ -107,11 +110,10 @@ class ReplayCreatorWorker(ReplayBase):
107
110
  os.makedirs(self.replay_config.creator.working_directory, exist_ok=True)
108
111
 
109
112
  # Create the JSON
110
- json_fn = f"{collection}_{now_as_iso()}.al_json"
111
- json_path = os.path.join(self.replay_config.creator.working_directory, json_fn)
112
- with open(json_path, "w") as fp:
113
- json.dump(batch, fp)
113
+ json_fn = f"{collection}_{now_as_iso()}.al_json.cart"
114
114
  json_path = os.path.join(self.replay_config.creator.working_directory, json_fn)
115
+ with open(json_path, "wb") as fp:
116
+ pack_stream(BytesIO(json.dumps(batch).encode()), fp)
115
117
 
116
118
  # Move the JSON
117
119
  self.filestore.upload(json_path, json_fn)
@@ -50,7 +50,9 @@ class ReplayLoader(ReplayBase):
50
50
  for root, _, files in os.walk(self.replay_config.loader.input_directory, topdown=False):
51
51
  for name in files:
52
52
  # Unexpected files that could be the result of external transfer mechanisms
53
- if name.startswith('.') or not (name.endswith('.al_bundle') or name.endswith('.al_json')):
53
+ if name.startswith('.') or not (name.endswith('.al_bundle') or \
54
+ name.endswith('.al_json') or \
55
+ name.endswith('.al_json.cart')):
54
56
  continue
55
57
 
56
58
  file_path = os.path.join(root, name)
@@ -1,6 +1,8 @@
1
1
  import shutil
2
2
  import os
3
3
 
4
+ from cart import unpack_file
5
+
4
6
  from assemblyline_core.replay.client import APIClient, DirectClient
5
7
  from assemblyline_core.replay.replay import ReplayBase
6
8
 
@@ -34,6 +36,13 @@ class ReplayLoaderWorker(ReplayBase):
34
36
  elif file_path.endswith(".al_json"):
35
37
  self.client.load_json(file_path)
36
38
 
39
+ elif file_path.endswith(".al_json.cart"):
40
+ cart_path = file_path
41
+ file_path = file_path[:-5]
42
+ unpack_file(cart_path, file_path)
43
+ self.client.load_json(file_path)
44
+ os.unlink(cart_path)
45
+
37
46
  if os.path.exists(file_path):
38
47
  os.unlink(file_path)
39
48
  except OSError as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.5.1.dev223
3
+ Version: 4.5.1.dev225
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -251,8 +251,8 @@ def test_replay_single_data_collection(datastore, creator, creator_worker, loade
251
251
  getattr(creator_worker, f'process_{collection}')(once=True)
252
252
  assert creator_worker.client.queues[collection].length() == 0
253
253
  filename = os.path.join(output_dir,
254
- ([f for f in os.listdir(output_dir) if f.startswith(
255
- collection) and f.endswith('.al_json')] + ["not_found"])[0])
254
+ ([f for f in os.listdir(output_dir) if f.startswith(collection) \
255
+ and f.endswith('.al_json.cart')] + ["not_found"])[0])
256
256
  assert os.path.exists(filename)
257
257
 
258
258
  # Delete the item to test the loading process
@@ -1 +0,0 @@
1
- 4.5.1.dev223