python3-cyberfusion-queue-support 1.7.0__py3-none-any.whl → 2.2__py3-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.
Files changed (34) hide show
  1. cyberfusion/QueueSupport/__init__.py +112 -34
  2. cyberfusion/QueueSupport/database.py +112 -0
  3. cyberfusion/QueueSupport/interfaces.py +1 -1
  4. cyberfusion/QueueSupport/items/__init__.py +13 -1
  5. cyberfusion/QueueSupport/items/chmod.py +6 -2
  6. cyberfusion/QueueSupport/items/chown.py +8 -2
  7. cyberfusion/QueueSupport/items/command.py +6 -2
  8. cyberfusion/QueueSupport/items/copy.py +6 -2
  9. cyberfusion/QueueSupport/items/database_create.py +65 -0
  10. cyberfusion/QueueSupport/items/database_drop.py +65 -0
  11. cyberfusion/QueueSupport/items/database_user_drop.py +81 -0
  12. cyberfusion/QueueSupport/items/database_user_ensure_state.py +100 -0
  13. cyberfusion/QueueSupport/items/database_user_grant_grant.py +104 -0
  14. cyberfusion/QueueSupport/items/database_user_grant_revoke.py +104 -0
  15. cyberfusion/QueueSupport/items/mkdir.py +6 -2
  16. cyberfusion/QueueSupport/items/move.py +6 -2
  17. cyberfusion/QueueSupport/items/rmtree.py +6 -2
  18. cyberfusion/QueueSupport/items/systemd_daemon_reload.py +6 -2
  19. cyberfusion/QueueSupport/items/systemd_tmp_files_create.py +6 -2
  20. cyberfusion/QueueSupport/items/systemd_unit_disable.py +6 -2
  21. cyberfusion/QueueSupport/items/systemd_unit_enable.py +6 -2
  22. cyberfusion/QueueSupport/items/systemd_unit_reload.py +6 -2
  23. cyberfusion/QueueSupport/items/systemd_unit_restart.py +6 -2
  24. cyberfusion/QueueSupport/items/systemd_unit_start.py +6 -2
  25. cyberfusion/QueueSupport/items/systemd_unit_stop.py +6 -2
  26. cyberfusion/QueueSupport/items/unlink.py +6 -2
  27. cyberfusion/QueueSupport/outcomes.py +201 -4
  28. cyberfusion/QueueSupport/settings.py +14 -0
  29. {python3_cyberfusion_queue_support-1.7.0.dist-info → python3_cyberfusion_queue_support-2.2.dist-info}/METADATA +9 -1
  30. python3_cyberfusion_queue_support-2.2.dist-info/RECORD +35 -0
  31. {python3_cyberfusion_queue_support-1.7.0.dist-info → python3_cyberfusion_queue_support-2.2.dist-info}/WHEEL +1 -1
  32. python3_cyberfusion_queue_support-2.2.dist-info/entry_points.txt +2 -0
  33. python3_cyberfusion_queue_support-1.7.0.dist-info/RECORD +0 -26
  34. {python3_cyberfusion_queue_support-1.7.0.dist-info → python3_cyberfusion_queue_support-2.2.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,10 @@
2
2
 
3
3
  from typing import List, Optional
4
4
 
5
+ from cyberfusion.DatabaseSupport.database_user_grants import DatabaseUserGrant
6
+ from cyberfusion.DatabaseSupport.database_users import DatabaseUser
7
+ from cyberfusion.DatabaseSupport.databases import Database
8
+
5
9
  from cyberfusion.QueueSupport.interfaces import OutcomeInterface
6
10
  from cyberfusion.SystemdSupport.units import Unit
7
11
 
@@ -10,7 +14,11 @@ class CopyItemCopyOutcome(OutcomeInterface):
10
14
  """Represents outcome."""
11
15
 
12
16
  def __init__(
13
- self, *, source: str, destination: str, changed_lines: Optional[list[str]] = None
17
+ self,
18
+ *,
19
+ source: str,
20
+ destination: str,
21
+ changed_lines: Optional[list[str]] = None,
14
22
  ) -> None:
15
23
  """Set attributes."""
16
24
  self.source = source
@@ -24,9 +32,7 @@ class CopyItemCopyOutcome(OutcomeInterface):
24
32
  else:
25
33
  changed_lines = ""
26
34
 
27
- return (
28
- f"Copy {self.source} to {self.destination}.{changed_lines}"
29
- )
35
+ return f"Copy {self.source} to {self.destination}.{changed_lines}"
30
36
 
31
37
  def __eq__(self, other: object) -> bool:
32
38
  """Get equality based on attributes."""
@@ -376,3 +382,194 @@ class SystemdUnitStopItemStopOutcome(OutcomeInterface):
376
382
  return False
377
383
 
378
384
  return other.unit.name == self.unit.name
385
+
386
+
387
+ class DatabaseCreateItemCreateOutcome(OutcomeInterface):
388
+ """Represents outcome."""
389
+
390
+ def __init__(self, *, database: Database) -> None:
391
+ """Set attributes."""
392
+ self.database = database
393
+
394
+ def __str__(self) -> str:
395
+ """Get human-readable string."""
396
+ return f"Create {self.database.name} in {self.database.server_software_name}"
397
+
398
+ def __eq__(self, other: object) -> bool:
399
+ """Get equality based on attributes."""
400
+ if not isinstance(other, DatabaseCreateItemCreateOutcome):
401
+ return False
402
+
403
+ return (
404
+ other.database.server_software_name == self.database.server_software_name
405
+ and other.database.name == self.database.name
406
+ )
407
+
408
+
409
+ class DatabaseDropItemDropOutcome(OutcomeInterface):
410
+ """Represents outcome."""
411
+
412
+ def __init__(self, *, database: Database) -> None:
413
+ """Set attributes."""
414
+ self.database = database
415
+
416
+ def __str__(self) -> str:
417
+ """Get human-readable string."""
418
+ return f"Drop {self.database.name} in {self.database.server_software_name}"
419
+
420
+ def __eq__(self, other: object) -> bool:
421
+ """Get equality based on attributes."""
422
+ if not isinstance(other, DatabaseDropItemDropOutcome):
423
+ return False
424
+
425
+ return (
426
+ other.database.server_software_name == self.database.server_software_name
427
+ and other.database.name == self.database.name
428
+ )
429
+
430
+
431
+ class DatabaseUserEnsureStateItemCreateOutcome(OutcomeInterface):
432
+ """Represents outcome."""
433
+
434
+ def __init__(self, *, database_user: DatabaseUser) -> None:
435
+ """Set attributes."""
436
+ self.database_user = database_user
437
+
438
+ def __str__(self) -> str:
439
+ """Get human-readable string."""
440
+ return f"Create {self.database_user.name} in {self.database_user.server_software_name}"
441
+
442
+ def __eq__(self, other: object) -> bool:
443
+ """Get equality based on attributes."""
444
+ if not isinstance(other, DatabaseUserEnsureStateItemCreateOutcome):
445
+ return False
446
+
447
+ return (
448
+ other.database_user.server_software_name
449
+ == self.database_user.server_software_name
450
+ and other.database_user.name == self.database_user.name
451
+ and other.database_user.password == self.database_user.password
452
+ and other.database_user.host == self.database_user.host
453
+ )
454
+
455
+
456
+ class DatabaseUserEnsureStateItemEditPasswordOutcome(OutcomeInterface):
457
+ """Represents outcome."""
458
+
459
+ def __init__(self, *, database_user: DatabaseUser) -> None:
460
+ """Set attributes."""
461
+ self.database_user = database_user
462
+
463
+ def __str__(self) -> str:
464
+ """Get human-readable string."""
465
+ return f"Edit password of {self.database_user.name} in {self.database_user.server_software_name}"
466
+
467
+ def __eq__(self, other: object) -> bool:
468
+ """Get equality based on attributes."""
469
+ if not isinstance(other, DatabaseUserEnsureStateItemEditPasswordOutcome):
470
+ return False
471
+
472
+ print(
473
+ other.database_user.server_software_name,
474
+ other.database_user.name,
475
+ other.database_user.password,
476
+ other.database_user.host,
477
+ )
478
+ print(
479
+ self.database_user.server_software_name,
480
+ self.database_user.name,
481
+ self.database_user.password,
482
+ self.database_user.host,
483
+ )
484
+
485
+ return (
486
+ other.database_user.server_software_name
487
+ == self.database_user.server_software_name
488
+ and other.database_user.name == self.database_user.name
489
+ and other.database_user.password == self.database_user.password
490
+ and other.database_user.host == self.database_user.host
491
+ )
492
+
493
+
494
+ class DatabaseUserDropItemDropOutcome(OutcomeInterface):
495
+ """Represents outcome."""
496
+
497
+ def __init__(self, *, database_user: DatabaseUser) -> None:
498
+ """Set attributes."""
499
+ self.database_user = database_user
500
+
501
+ def __str__(self) -> str:
502
+ """Get human-readable string."""
503
+ return f"Drop {self.database_user.name} in {self.database_user.server_software_name}"
504
+
505
+ def __eq__(self, other: object) -> bool:
506
+ """Get equality based on attributes."""
507
+ if not isinstance(other, DatabaseUserDropItemDropOutcome):
508
+ return False
509
+
510
+ return (
511
+ other.database_user.server_software_name
512
+ == self.database_user.server_software_name
513
+ and other.database_user.name == self.database_user.name
514
+ and other.database_user.host == self.database_user.host
515
+ )
516
+
517
+
518
+ class DatabaseUserGrantGrantItemGrantOutcome(OutcomeInterface):
519
+ """Represents outcome."""
520
+
521
+ def __init__(self, *, database_user_grant: DatabaseUserGrant) -> None:
522
+ """Set attributes."""
523
+ self.database_user_grant = database_user_grant
524
+
525
+ def __str__(self) -> str:
526
+ """Get human-readable string."""
527
+ return f"Grant {self.database_user_grant.privilege_names} to {self.database_user_grant.table_name} in {self.database_user_grant.database_name} in {self.database_user_grant.database_user.server_software_name}"
528
+
529
+ def __eq__(self, other: object) -> bool:
530
+ """Get equality based on attributes."""
531
+ if not isinstance(other, DatabaseUserGrantGrantItemGrantOutcome):
532
+ return False
533
+
534
+ return (
535
+ other.database_user_grant.database_user.server_software_name
536
+ == self.database_user_grant.database_user.server_software_name
537
+ and other.database_user_grant.database_user.name
538
+ == self.database_user_grant.database_user.name
539
+ and other.database_user_grant.database_user.host
540
+ == self.database_user_grant.database_user.host
541
+ and other.database_user_grant.privilege_names
542
+ == self.database_user_grant.privilege_names
543
+ and other.database_user_grant.table_name
544
+ == self.database_user_grant.table_name
545
+ )
546
+
547
+
548
+ class DatabaseUserGrantRevokeItemRevokeOutcome(OutcomeInterface):
549
+ """Represents outcome."""
550
+
551
+ def __init__(self, *, database_user_grant: DatabaseUserGrant) -> None:
552
+ """Set attributes."""
553
+ self.database_user_grant = database_user_grant
554
+
555
+ def __str__(self) -> str:
556
+ """Get human-readable string."""
557
+ return f"Revoke {self.database_user_grant.privilege_names} to {self.database_user_grant.table_name} in {self.database_user_grant.database_name} in {self.database_user_grant.database_user.server_software_name}"
558
+
559
+ def __eq__(self, other: object) -> bool:
560
+ """Get equality based on attributes."""
561
+ if not isinstance(other, DatabaseUserGrantRevokeItemRevokeOutcome):
562
+ return False
563
+
564
+ return (
565
+ other.database_user_grant.database_user.server_software_name
566
+ == self.database_user_grant.database_user.server_software_name
567
+ and other.database_user_grant.database_user.name
568
+ == self.database_user_grant.database_user.name
569
+ and other.database_user_grant.database_user.host
570
+ == self.database_user_grant.database_user.host
571
+ and other.database_user_grant.privilege_names
572
+ == self.database_user_grant.privilege_names
573
+ and other.database_user_grant.table_name
574
+ == self.database_user_grant.table_name
575
+ )
@@ -0,0 +1,14 @@
1
+ from pydantic import BaseSettings
2
+
3
+
4
+ class Settings(BaseSettings):
5
+ database_path: str = "sqlite:///./queue-support.db"
6
+ alembic_config_file_path: str = "alembic.ini"
7
+
8
+ class Config:
9
+ env_prefix = "queue_support_"
10
+
11
+ env_file = ".env", "/etc/queue-support.conf"
12
+
13
+
14
+ settings = Settings()
@@ -1,11 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-queue-support
3
- Version: 1.7.0
3
+ Version: 2.2
4
4
  Summary: Library to queue actions.
5
5
  Author-email: Cyberfusion <support@cyberfusion.io>
6
6
  Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-queue-support
7
7
  Description-Content-Type: text/markdown
8
8
  Requires-Dist: python3-cyberfusion-systemd-support~=2.1
9
+ Requires-Dist: python3-cyberfusion-database-support~=3.0
10
+ Requires-Dist: alembic==1.8.1
11
+ Requires-Dist: SQLAlchemy==1.4.46
12
+ Requires-Dist: pydantic[dotenv]==1.10.4
9
13
 
10
14
  # python3-cyberfusion-queue-support
11
15
 
@@ -46,6 +50,10 @@ Run the following command to install the package from PyPI:
46
50
 
47
51
  pip3 install python3-cyberfusion-queue-support
48
52
 
53
+ Then, run database migrations:
54
+
55
+ bin/queue-support-migrate
56
+
49
57
  ## Debian
50
58
 
51
59
  Run the following commands to build a Debian package:
@@ -0,0 +1,35 @@
1
+ cyberfusion/QueueSupport/__init__.py,sha256=Vbcp_BYoT1o1LJaWXUFRcqm8V8PJ5bLF7QUGQTO1t3o,4387
2
+ cyberfusion/QueueSupport/database.py,sha256=TdV90oN4VPSQAy0WoBepYFEa2U7AbsNaS48tdd5vqxU,3365
3
+ cyberfusion/QueueSupport/interfaces.py,sha256=ip8z6cfLFldQCDSec6fK6AIOdxOjIyFykDv4dCHJYSI,943
4
+ cyberfusion/QueueSupport/outcomes.py,sha256=kv_0zODEraaZnuLRMcaQgWCfgstpJRDSO5YWYFAgEgw,18564
5
+ cyberfusion/QueueSupport/settings.py,sha256=fcPAfAB4EbS5Bg8A9xlG6JFjljKocO4xkmUBtqH2Bxk,307
6
+ cyberfusion/QueueSupport/utilities.py,sha256=vsQOZunX0UwudoIauCPV-Ij1TVrjWG_16wctvJPaMVQ,186
7
+ cyberfusion/QueueSupport/exceptions/__init__.py,sha256=oQqNMAtmurT7lHA-y5oHPiugNu4v9RSFRH5aQydRg0E,766
8
+ cyberfusion/QueueSupport/items/__init__.py,sha256=MLWovIj1hqjZ5kSjR_AfQ0Ev70sRI2w6cUGryvnfnJk,842
9
+ cyberfusion/QueueSupport/items/chmod.py,sha256=3w12f38u3lG0qs-tzQoYzf8I6jqfJ2pjnsx4mXt3JhA,2041
10
+ cyberfusion/QueueSupport/items/chown.py,sha256=LfgkXMAwzE3HBwbqMXPP1rpuHRNIPV4BeBssvPrEgBQ,4054
11
+ cyberfusion/QueueSupport/items/command.py,sha256=O6seqqEE2XSHqf9P2B2SAPLGFzWCVbr-lRm5-OamjV0,1846
12
+ cyberfusion/QueueSupport/items/copy.py,sha256=08vPCIsgrkOH4Ryir8m8CpjT9Y4GL5vPmgWuVosK4q4,3007
13
+ cyberfusion/QueueSupport/items/database_create.py,sha256=01Z3ULjhzQFjL4PSfvKNZ9pMkjiZb3RIr6WCirbaK6c,1832
14
+ cyberfusion/QueueSupport/items/database_drop.py,sha256=cnmEL8gZ6ORBL-ylghQAQSq1FOZCtM6O8uwPcnqBI4c,1806
15
+ cyberfusion/QueueSupport/items/database_user_drop.py,sha256=8t6M9OxNNp8iINrwsr5kMBbMP4tBMHFi8Wo9S_IYujA,2194
16
+ cyberfusion/QueueSupport/items/database_user_ensure_state.py,sha256=t5AklbHWe11TqL2WO4o-Ci8N4NIWX0nFO12n20CbOQk,2940
17
+ cyberfusion/QueueSupport/items/database_user_grant_grant.py,sha256=Q9ir9b1hrr6j3rkG3WmX0cRFQHC6uH86lYs4aZgxEW8,3514
18
+ cyberfusion/QueueSupport/items/database_user_grant_revoke.py,sha256=wOg5srAzo2IGUzn43GkhrcCgV0b7-n3uSWCXDf1lxSk,3521
19
+ cyberfusion/QueueSupport/items/mkdir.py,sha256=9Zzl72oGTHcRIz_vJd5r1Ty6nyasFwEqtGKa9xx05aY,1479
20
+ cyberfusion/QueueSupport/items/move.py,sha256=jrxaQhihcCgtbtypfJ4NPYq1-T-Izu-vK0pOSjddjiM,1669
21
+ cyberfusion/QueueSupport/items/rmtree.py,sha256=MGwnuqRxs4WZnm2Wzx-1DBmV6kAm-PB4kayhHSaoee8,1517
22
+ cyberfusion/QueueSupport/items/systemd_daemon_reload.py,sha256=snlG98P1mRcVmiCkY6KvZeq_ILu_3SrXW0QIfKFaZnE,1282
23
+ cyberfusion/QueueSupport/items/systemd_tmp_files_create.py,sha256=sgQRmdWpWpPPDTMRYqEBZjwQ6LP6nOyI4TyBLtjMs-Y,1405
24
+ cyberfusion/QueueSupport/items/systemd_unit_disable.py,sha256=ib4AvFo3WP4tBg4r5HUiUmdE9WPf8oLEqJF__dYsIN0,1416
25
+ cyberfusion/QueueSupport/items/systemd_unit_enable.py,sha256=kLQAKJFKWPYDld8X7BK7NDIO7egB-wWoVflPq0bI-Ro,1409
26
+ cyberfusion/QueueSupport/items/systemd_unit_reload.py,sha256=jW71hB1EjaQTDR1QQblWQ071VRB37Zbr7u61C9wbnPU,1368
27
+ cyberfusion/QueueSupport/items/systemd_unit_restart.py,sha256=tez-3y2stkZ_QlDskr-6CEySr27oXSWwacx2WVylLSs,1379
28
+ cyberfusion/QueueSupport/items/systemd_unit_start.py,sha256=A5Jaf3_KLmgH6kullP9-qeBWIdSLOgEvA-KeGyfuc_o,1397
29
+ cyberfusion/QueueSupport/items/systemd_unit_stop.py,sha256=HlDxFDV9KMVnWzcMuf4cZ-cSdEVJdCfUG9_w9V8OyQg,1373
30
+ cyberfusion/QueueSupport/items/unlink.py,sha256=hkhtD-nZ5aLWFdRuZbwlTqOvLqfsBG6rysZv01XKYCc,1483
31
+ python3_cyberfusion_queue_support-2.2.dist-info/METADATA,sha256=RQUtAhvS-LuA8yD1K55cNLS7ljmBJPZo_C07tLjOucw,4488
32
+ python3_cyberfusion_queue_support-2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
33
+ python3_cyberfusion_queue_support-2.2.dist-info/entry_points.txt,sha256=j42nbFWu1jTev4Ca3GhEZlH546t48aqYXnaKP20NWfA,91
34
+ python3_cyberfusion_queue_support-2.2.dist-info/top_level.txt,sha256=ss011q9S6SL_KIIyq7iujFmIYa0grSjlnInO7cDkeag,12
35
+ python3_cyberfusion_queue_support-2.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ queue-support-migrate = cyberfusion.QueueSupport.database:run_migrations
@@ -1,26 +0,0 @@
1
- cyberfusion/QueueSupport/__init__.py,sha256=Oj7djeqtw1peSBGVYJoV8I_qoRjQJpDnX3-0EDFvTSk,2140
2
- cyberfusion/QueueSupport/interfaces.py,sha256=gKf0y1YLTMtoYoEuhkEMOQ4yrkD2UXkKYU1NTb8cYyA,925
3
- cyberfusion/QueueSupport/outcomes.py,sha256=GeR_xK-79IY3SZpIjzLb5USIjd6MXMa40u0bKgevlyU,11001
4
- cyberfusion/QueueSupport/utilities.py,sha256=vsQOZunX0UwudoIauCPV-Ij1TVrjWG_16wctvJPaMVQ,186
5
- cyberfusion/QueueSupport/exceptions/__init__.py,sha256=oQqNMAtmurT7lHA-y5oHPiugNu4v9RSFRH5aQydRg0E,766
6
- cyberfusion/QueueSupport/items/__init__.py,sha256=uS3fvsJBFxU_ieiLOGQNALnBWFPL8m875rupIW2i5qg,514
7
- cyberfusion/QueueSupport/items/chmod.py,sha256=Dw6gTOyD_SiQcxYlGOLDmVQPNw64upjT6uPybhPTGe8,1959
8
- cyberfusion/QueueSupport/items/chown.py,sha256=PkSFKybOp0ko6GGzhUu9YXsPX0auQqXxD7gg4SgSt6o,3926
9
- cyberfusion/QueueSupport/items/command.py,sha256=iiJmxTH3o9VquthuS-ybkYgP2NCYTiXbsmF-qn-hAkE,1769
10
- cyberfusion/QueueSupport/items/copy.py,sha256=JABCT37JFkkRuP_v3f6-bG6w-pIqmgqnV0xiDahj784,2932
11
- cyberfusion/QueueSupport/items/mkdir.py,sha256=hO12zafN7hS4OaE2lD1KzEg8-NK9aRiWnBEqnan7d5Y,1401
12
- cyberfusion/QueueSupport/items/move.py,sha256=IpK7YzeKHKY9vZ_5vamJOgFnNrWVjF6-Fau3VUxa5oQ,1594
13
- cyberfusion/QueueSupport/items/rmtree.py,sha256=xckyh-bM5I-KERJrP4ALDKceGtMtZBIcXGUSwjph5tg,1438
14
- cyberfusion/QueueSupport/items/systemd_daemon_reload.py,sha256=6vz_zSwozUaBQS4ZL3k8OjIg595z1HES-C3T16X64Lo,1190
15
- cyberfusion/QueueSupport/items/systemd_tmp_files_create.py,sha256=qgEnS5t-zLAfPkTsRTvLmhmyjlnFoDnWsiQRGcfh8NQ,1311
16
- cyberfusion/QueueSupport/items/systemd_unit_disable.py,sha256=q9i1YGNkRdPOyXo6twPIkZ0f7BnAbMGd34IEmXIc6-c,1324
17
- cyberfusion/QueueSupport/items/systemd_unit_enable.py,sha256=A1nxz38xIANT1PPUxat6f0w6SUU6-skvG2vu_nwU5UU,1319
18
- cyberfusion/QueueSupport/items/systemd_unit_reload.py,sha256=yt97CCs5vURe-HJiWbgf2ig8ANCdH7yS9lPN-zBKtTk,1278
19
- cyberfusion/QueueSupport/items/systemd_unit_restart.py,sha256=zKBy0fngw84vccqYmkvbXEkhh9rj-8B8EzCwM8uRoMo,1287
20
- cyberfusion/QueueSupport/items/systemd_unit_start.py,sha256=oWNRfTafLMNg54B3biXr1vrGDl5fX-dzGC-UgbIIUXY,1309
21
- cyberfusion/QueueSupport/items/systemd_unit_stop.py,sha256=FrbpmUSWkdhzn4D5fxJP2Iyuo3PJrMeO12UzMdCP9SM,1287
22
- cyberfusion/QueueSupport/items/unlink.py,sha256=tqZYbdatJejCvGCnx6vN8vn5w93f1_obwZcJowxNwms,1404
23
- python3_cyberfusion_queue_support-1.7.0.dist-info/METADATA,sha256=NFRQlanZDSlHkig1ehx14AAY6NfYBgXmwodzc9cDcxA,4266
24
- python3_cyberfusion_queue_support-1.7.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
25
- python3_cyberfusion_queue_support-1.7.0.dist-info/top_level.txt,sha256=ss011q9S6SL_KIIyq7iujFmIYa0grSjlnInO7cDkeag,12
26
- python3_cyberfusion_queue_support-1.7.0.dist-info/RECORD,,