python3-cyberfusion-queue-support 2.2.1__tar.gz → 2.2.3__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.
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/PKG-INFO +1 -1
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/pyproject.toml +1 -1
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/__init__.py +17 -12
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/database.py +5 -1
- python3_cyberfusion_queue_support-2.2.3/src/cyberfusion/QueueSupport/encoders.py +17 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/PKG-INFO +1 -1
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/SOURCES.txt +1 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/README.md +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/setup.cfg +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/exceptions/__init__.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/interfaces.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/__init__.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/chmod.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/chown.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/command.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/copy.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_create.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_drop.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_user_drop.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_user_ensure_state.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_user_grant_grant.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/database_user_grant_revoke.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/mkdir.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/move.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/rmtree.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_daemon_reload.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_tmp_files_create.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_disable.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_enable.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_reload.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_restart.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_start.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/systemd_unit_stop.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/items/unlink.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/migrations/__init__.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/migrations/env.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/migrations/versions/571e55ab5ed5_initial_migration.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/migrations/versions/__init__.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/outcomes.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/settings.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/cyberfusion/QueueSupport/utilities.py +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/dependency_links.txt +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/entry_points.txt +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/requires.txt +0 -0
- {python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/src/python3_cyberfusion_queue_support.egg-info/top_level.txt +0 -0
{python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-cyberfusion-queue-support
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
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
|
|
@@ -108,19 +108,21 @@ class Queue:
|
|
|
108
108
|
"Processing item with id '%s'", item_mapping.database_object.id
|
|
109
109
|
)
|
|
110
110
|
|
|
111
|
+
item_outcomes = []
|
|
112
|
+
|
|
111
113
|
if preview:
|
|
112
114
|
if not item_mapping.item.hide_outcomes:
|
|
113
|
-
|
|
115
|
+
item_outcomes.extend(item_mapping.item.outcomes)
|
|
114
116
|
else:
|
|
115
117
|
try:
|
|
116
118
|
logger.debug(
|
|
117
119
|
"Fulfilling item with id '%s'", item_mapping.database_object.id
|
|
118
120
|
)
|
|
119
121
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
if item_mapping.item.hide_outcomes:
|
|
123
|
+
item_mapping.item.fulfill()
|
|
124
|
+
else:
|
|
125
|
+
item_outcomes.extend(item_mapping.item.fulfill())
|
|
124
126
|
|
|
125
127
|
logger.debug(
|
|
126
128
|
"Fulfilled item with id '%s'", item_mapping.database_object.id
|
|
@@ -132,15 +134,18 @@ class Queue:
|
|
|
132
134
|
item_mapping.item,
|
|
133
135
|
) from e
|
|
134
136
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
outcomes.extend(item_outcomes)
|
|
138
|
+
|
|
139
|
+
for outcome in item_outcomes:
|
|
140
|
+
self._database_session.add(
|
|
141
|
+
QueueItemOutcome(
|
|
142
|
+
queue_item=item_mapping.database_object,
|
|
143
|
+
queue_process=process_object,
|
|
144
|
+
type=outcome.__class__.__name__,
|
|
145
|
+
attributes=outcome.__dict__,
|
|
146
|
+
)
|
|
141
147
|
)
|
|
142
148
|
|
|
143
|
-
self._database_session.add(outcome_object)
|
|
144
149
|
self._database_session.commit()
|
|
145
150
|
|
|
146
151
|
logger.debug("Processed item with id '%s'", item_mapping.database_object.id)
|
|
@@ -3,6 +3,7 @@ import os
|
|
|
3
3
|
from alembic import command
|
|
4
4
|
import sqlite3
|
|
5
5
|
from datetime import datetime, timezone
|
|
6
|
+
|
|
6
7
|
from sqlalchemy.pool.base import _ConnectionRecord
|
|
7
8
|
from sqlalchemy import ForeignKey, MetaData, Boolean
|
|
8
9
|
from sqlalchemy import create_engine, Column, DateTime, Integer, String
|
|
@@ -12,6 +13,7 @@ from sqlalchemy.engine import Engine
|
|
|
12
13
|
from sqlalchemy import event
|
|
13
14
|
from sqlalchemy.types import JSON
|
|
14
15
|
|
|
16
|
+
from cyberfusion.QueueSupport.encoders import json_serialize
|
|
15
17
|
from cyberfusion.QueueSupport.settings import settings
|
|
16
18
|
|
|
17
19
|
|
|
@@ -47,7 +49,9 @@ def run_migrations() -> None:
|
|
|
47
49
|
|
|
48
50
|
def make_database_session() -> Session:
|
|
49
51
|
engine = create_engine(
|
|
50
|
-
settings.database_path,
|
|
52
|
+
settings.database_path,
|
|
53
|
+
connect_args={"check_same_thread": False},
|
|
54
|
+
json_serializer=json_serialize,
|
|
51
55
|
)
|
|
52
56
|
|
|
53
57
|
return sessionmaker(bind=engine)()
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from json import JSONEncoder
|
|
3
|
+
from typing import Any
|
|
4
|
+
|
|
5
|
+
from cyberfusion.SystemdSupport import Unit
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CustomEncoder(JSONEncoder):
|
|
9
|
+
def default(self, o: Any) -> Any:
|
|
10
|
+
if isinstance(o, Unit):
|
|
11
|
+
return {"name": o.name}
|
|
12
|
+
|
|
13
|
+
return super().default(o)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def json_serialize(obj: Any) -> str:
|
|
17
|
+
return json.dumps(obj, cls=CustomEncoder)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python3-cyberfusion-queue-support
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.3
|
|
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
|
|
@@ -3,6 +3,7 @@ pyproject.toml
|
|
|
3
3
|
setup.cfg
|
|
4
4
|
src/cyberfusion/QueueSupport/__init__.py
|
|
5
5
|
src/cyberfusion/QueueSupport/database.py
|
|
6
|
+
src/cyberfusion/QueueSupport/encoders.py
|
|
6
7
|
src/cyberfusion/QueueSupport/interfaces.py
|
|
7
8
|
src/cyberfusion/QueueSupport/outcomes.py
|
|
8
9
|
src/cyberfusion/QueueSupport/settings.py
|
{python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/README.md
RENAMED
|
File without changes
|
{python3_cyberfusion_queue_support-2.2.1 → python3_cyberfusion_queue_support-2.2.3}/setup.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|