python3-cyberfusion-systemd-support 2.5.0__tar.gz → 2.6__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 (17) hide show
  1. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/PKG-INFO +2 -2
  2. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/pyproject.toml +6 -4
  3. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/units.py +34 -0
  4. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/python3_cyberfusion_systemd_support.egg-info/PKG-INFO +2 -2
  5. python3_cyberfusion_systemd_support-2.6/src/python3_cyberfusion_systemd_support.egg-info/requires.txt +1 -0
  6. python3_cyberfusion_systemd_support-2.5.0/src/python3_cyberfusion_systemd_support.egg-info/requires.txt +0 -1
  7. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/README.md +0 -0
  8. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/setup.cfg +0 -0
  9. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/__init__.py +0 -0
  10. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/_constants.py +0 -0
  11. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/enums.py +0 -0
  12. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/exceptions.py +0 -0
  13. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/manager.py +0 -0
  14. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/cyberfusion/SystemdSupport/tmp_files.py +0 -0
  15. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/python3_cyberfusion_systemd_support.egg-info/SOURCES.txt +0 -0
  16. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/python3_cyberfusion_systemd_support.egg-info/dependency_links.txt +0 -0
  17. {python3_cyberfusion_systemd_support-2.5.0 → python3_cyberfusion_systemd_support-2.6}/src/python3_cyberfusion_systemd_support.egg-info/top_level.txt +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-systemd-support
3
- Version: 2.5.0
3
+ Version: 2.6
4
4
  Summary: Library for systemd.
5
5
  Author-email: Cyberfusion <support@cyberfusion.io>
6
6
  Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-systemd-support
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: python3-cyberfusion-common~=2.12
8
+ Requires-Dist: python3-cyberfusion-common<3.0,>=2.12
9
9
 
10
10
  # python3-cyberfusion-systemd-support
11
11
 
@@ -1,18 +1,20 @@
1
1
  [build-system]
2
- requires = ["setuptools"]
2
+ requires = [
3
+ "setuptools",
4
+ ]
3
5
  build-backend = "setuptools.build_meta"
4
6
 
5
7
  [project]
6
8
  name = "python3-cyberfusion-systemd-support"
7
- version = "2.5.0"
9
+ version = "2.6"
8
10
  description = "Library for systemd."
9
11
  readme = "README.md"
10
12
  authors = [
11
13
  { name = "Cyberfusion", email = "support@cyberfusion.io" },
12
14
  ]
13
15
  dependencies = [
14
- "python3-cyberfusion-common~=2.12",
16
+ "python3-cyberfusion-common>=2.12,<3.0",
15
17
  ]
16
18
 
17
19
  [project.urls]
18
- "Source" = "https://github.com/CyberfusionIO/python3-cyberfusion-systemd-support"
20
+ Source = "https://github.com/CyberfusionIO/python3-cyberfusion-systemd-support"
@@ -217,6 +217,40 @@ class TransientUnit:
217
217
 
218
218
  return cls(Unit(json.loads(output)["unit"]))
219
219
 
220
+ @classmethod
221
+ def run_sync(
222
+ cls,
223
+ name: str,
224
+ command: List[str],
225
+ *,
226
+ properties: dict[str, str] | None = None,
227
+ input_: str | None = None,
228
+ ) -> str:
229
+ """Start transient unit, wait for it to finish, and return stdout."""
230
+ arguments = [
231
+ SYSTEMD_RUN_BIN,
232
+ f"--unit={name}",
233
+ # "Wait for the transient service to terminate"
234
+ "--wait",
235
+ # "Unload the transient unit after it completed, even if it failed"
236
+ "--collect",
237
+ # "standard input, output, and error of the transient service are inherited from the systemd-run command itself"
238
+ # Needed to pass stdin
239
+ "--pipe",
240
+ ]
241
+
242
+ if properties:
243
+ for property_name, property_value in properties.items():
244
+ arguments.append(f"--property={property_name}={property_value}")
245
+
246
+ arguments.extend(command)
247
+
248
+ output = subprocess.run(
249
+ arguments, check=True, stdout=subprocess.PIPE, text=True, input=input_
250
+ ).stdout
251
+
252
+ return output
253
+
220
254
  def clean_up(self) -> None:
221
255
  """Stop unit if active, or reset it if failed."""
222
256
  sub_state = self.unit.get_property("SubState")
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python3-cyberfusion-systemd-support
3
- Version: 2.5.0
3
+ Version: 2.6
4
4
  Summary: Library for systemd.
5
5
  Author-email: Cyberfusion <support@cyberfusion.io>
6
6
  Project-URL: Source, https://github.com/CyberfusionIO/python3-cyberfusion-systemd-support
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: python3-cyberfusion-common~=2.12
8
+ Requires-Dist: python3-cyberfusion-common<3.0,>=2.12
9
9
 
10
10
  # python3-cyberfusion-systemd-support
11
11