Skip to content

Commit 73193a1

Browse files
committed
Added manager property to Service to allow using systemd service API
1 parent 7bb299f commit 73193a1

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

NEWS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Python-manatools
22
================
33
X.Y.Z
44
- dialog icon set if passed
5+
- exported Service Manager Interface to allow using systemd api
56

67
0.0.3
78
- fixed release version (manatools/version.py)

manatools/services.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ def __init__(self):
3131
self._reload = True
3232
self._services = {}
3333

34+
@property
35+
def manager(self):
36+
'''
37+
Returns the Service Manager Interface
38+
'''
39+
return dbus.Interface(self._systemd, dbus_interface='org.freedesktop.systemd1.Manager')
40+
3441
@property
3542
def service_info(self):
3643
'''
@@ -40,9 +47,8 @@ def service_info(self):
4047
'''
4148
if not self._reload :
4249
return self._services
43-
44-
manager = dbus.Interface(self._systemd, dbus_interface='org.freedesktop.systemd1.Manager')
45-
units = manager.ListUnits()
50+
51+
units = self.manager.ListUnits()
4652
self._services = {}
4753
self._reload = False
4854

@@ -52,7 +58,7 @@ def service_info(self):
5258
if pos != -1 :
5359
try:
5460
if unitName.find("@") == -1 :
55-
st = manager.GetUnitFileState(unitName)
61+
st = self.manager.GetUnitFileState(unitName)
5662
name = unitName[0:pos]
5763
if st and (self.include_static_services or st != 'static'):
5864
self._services[name] = {
@@ -68,7 +74,7 @@ def service_info(self):
6874
except:
6975
pass
7076

71-
unit_files = manager.ListUnitFiles()
77+
unit_files = self.manager.ListUnitFiles()
7278
for u in unit_files:
7379
unitName = u[0]
7480
st = u[1]

0 commit comments

Comments
 (0)