python3-cyberfusion-queue-support 2.4__tar.gz → 2.5.1__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.
Files changed (48) hide show
  1. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/PKG-INFO +1 -1
  2. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/pyproject.toml +1 -1
  3. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/encoders.py +4 -0
  4. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/command.py +4 -3
  5. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/outcomes.py +16 -2
  6. python3_cyberfusion_queue_support-2.5.1/src/cyberfusion/QueueSupport/sentinels.py +3 -0
  7. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/PKG-INFO +1 -1
  8. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/SOURCES.txt +1 -0
  9. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/README.md +0 -0
  10. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/setup.cfg +0 -0
  11. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/__init__.py +0 -0
  12. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/database.py +0 -0
  13. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/exceptions/__init__.py +0 -0
  14. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/interfaces.py +0 -0
  15. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/__init__.py +0 -0
  16. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/chmod.py +0 -0
  17. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/chown.py +0 -0
  18. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/copy.py +0 -0
  19. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_create.py +0 -0
  20. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_drop.py +0 -0
  21. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_user_drop.py +0 -0
  22. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_user_ensure_state.py +0 -0
  23. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_user_grant_grant.py +0 -0
  24. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/database_user_grant_revoke.py +0 -0
  25. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/mkdir.py +0 -0
  26. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/move.py +0 -0
  27. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/rmtree.py +0 -0
  28. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_daemon_reload.py +0 -0
  29. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_tmp_files_create.py +0 -0
  30. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_disable.py +0 -0
  31. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_enable.py +0 -0
  32. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_reload.py +0 -0
  33. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_restart.py +0 -0
  34. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_start.py +0 -0
  35. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/systemd_unit_stop.py +0 -0
  36. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/items/unlink.py +0 -0
  37. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/__init__.py +0 -0
  38. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/env.py +0 -0
  39. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/versions/571e55ab5ed5_initial_migration.py +0 -0
  40. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/versions/8023b9eecdd1_add_traceback_to_queue_items.py +0 -0
  41. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/versions/9ae29b5db790_add_string_to_queue_item_outcomes.py +0 -0
  42. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/migrations/versions/__init__.py +0 -0
  43. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/settings.py +0 -0
  44. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/cyberfusion/QueueSupport/utilities.py +0 -0
  45. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/dependency_links.txt +0 -0
  46. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/entry_points.txt +0 -0
  47. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/requires.txt +0 -0
  48. {python3_cyberfusion_queue_support-2.4 → python3_cyberfusion_queue_support-2.5.1}/src/python3_cyberfusion_queue_support.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-queue-support
3
- Version: 2.4
3
+ Version: 2.5.1
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python3-cyberfusion-queue-support"
7
- version = "2.4"
7
+ version = "2.5.1"
8
8
  description = "Library to queue actions."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -4,11 +4,15 @@ from typing import Any
4
4
 
5
5
  from cyberfusion.SystemdSupport import Unit
6
6
 
7
+ from cyberfusion.QueueSupport.sentinels import UNKNOWN
8
+
7
9
 
8
10
  class CustomEncoder(JSONEncoder):
9
11
  def default(self, o: Any) -> Any:
10
12
  if isinstance(o, Unit):
11
13
  return {"name": o.name}
14
+ elif o == UNKNOWN:
15
+ return "unknown"
12
16
 
13
17
  return super().default(o)
14
18
 
@@ -45,11 +45,12 @@ class CommandItem(_Item):
45
45
  outcome.command,
46
46
  check=True,
47
47
  text=True,
48
- capture_output=True,
48
+ stdout=subprocess.PIPE,
49
+ stderr=subprocess.PIPE,
49
50
  )
50
51
 
51
- logger.info("Command stdout: %s", output.stdout)
52
- logger.info("Command stderr: %s", output.stderr)
52
+ outcome.stdout = output.stdout
53
+ outcome.stderr = output.stderr
53
54
  except subprocess.CalledProcessError as e:
54
55
  raise CommandQueueFulfillFailed(
55
56
  self, command=outcome.command, stdout=e.stdout, stderr=e.stderr
@@ -9,6 +9,8 @@ from cyberfusion.DatabaseSupport.databases import Database
9
9
  from cyberfusion.QueueSupport.interfaces import OutcomeInterface
10
10
  from cyberfusion.SystemdSupport.units import Unit
11
11
 
12
+ from cyberfusion.QueueSupport.sentinels import UNKNOWN
13
+
12
14
 
13
15
  class CopyItemCopyOutcome(OutcomeInterface):
14
16
  """Represents outcome."""
@@ -147,9 +149,17 @@ class RmTreeItemRemoveOutcome(OutcomeInterface):
147
149
  class CommandItemRunOutcome(OutcomeInterface):
148
150
  """Represents outcome."""
149
151
 
150
- def __init__(self, *, command: List[str]) -> None:
152
+ def __init__(
153
+ self,
154
+ *,
155
+ command: List[str],
156
+ stdout: str | UNKNOWN = UNKNOWN,
157
+ stderr: str | UNKNOWN = UNKNOWN,
158
+ ) -> None:
151
159
  """Set attributes."""
152
160
  self.command = command
161
+ self.stdout = stdout
162
+ self.stderr = stderr
153
163
 
154
164
  def __str__(self) -> str:
155
165
  """Get human-readable string."""
@@ -160,7 +170,11 @@ class CommandItemRunOutcome(OutcomeInterface):
160
170
  if not isinstance(other, CommandItemRunOutcome):
161
171
  return False
162
172
 
163
- return other.command == self.command
173
+ return (
174
+ other.command == self.command
175
+ and other.stdout == self.stdout
176
+ and other.stderr == self.stderr
177
+ )
164
178
 
165
179
 
166
180
  class ChmodItemModeChangeOutcome(OutcomeInterface):
@@ -0,0 +1,3 @@
1
+ from typing import TypeVar
2
+
3
+ UNKNOWN = TypeVar("UNKNOWN")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-queue-support
3
- Version: 2.4
3
+ Version: 2.5.1
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
@@ -6,6 +6,7 @@ src/cyberfusion/QueueSupport/database.py
6
6
  src/cyberfusion/QueueSupport/encoders.py
7
7
  src/cyberfusion/QueueSupport/interfaces.py
8
8
  src/cyberfusion/QueueSupport/outcomes.py
9
+ src/cyberfusion/QueueSupport/sentinels.py
9
10
  src/cyberfusion/QueueSupport/settings.py
10
11
  src/cyberfusion/QueueSupport/utilities.py
11
12
  src/cyberfusion/QueueSupport/exceptions/__init__.py