mirror of
https://github.com/openSUSE/snapper.git
synced 2026-02-06 18:46:06 +01:00
58 lines
1.5 KiB
Python
Executable File
58 lines
1.5 KiB
Python
Executable File
#!/usr/bin/python3
|
|
|
|
import dbus
|
|
from dbus.mainloop.glib import DBusGMainLoop
|
|
from gi.repository.GLib import MainLoop
|
|
|
|
|
|
DBusGMainLoop(set_as_default=True)
|
|
|
|
bus = dbus.SystemBus()
|
|
|
|
snapper = dbus.Interface(bus.get_object('org.opensuse.Snapper', '/org/opensuse/Snapper'),
|
|
dbus_interface='org.opensuse.Snapper')
|
|
|
|
|
|
class MessageListener:
|
|
|
|
def __init__(self):
|
|
|
|
signals = {
|
|
"ConfigCreated" : self.config_created,
|
|
"ConfigModified" : self.config_modified,
|
|
"ConfigDeleted" : self.config_deleted,
|
|
"SnapshotCreated" : self.snapshot_created,
|
|
"SnapshotModified" : self.snapshot_modified,
|
|
"SnapshotsDeleted" : self.snapshots_deleted,
|
|
}
|
|
|
|
for signal, handler in signals.items():
|
|
snapper.connect_to_signal(signal, handler)
|
|
|
|
|
|
def config_created(self, config):
|
|
print("ConfigCreated", config)
|
|
|
|
def config_modified(self, config):
|
|
print("ConfigModified", config)
|
|
|
|
def config_deleted(self, config):
|
|
print("ConfigDeleted", config)
|
|
|
|
def snapshot_created(self, config, number):
|
|
print("SnapshotCreated", config, number)
|
|
|
|
def snapshot_modified(self, config, number):
|
|
print("SnapshotModified", config, number)
|
|
|
|
def snapshots_deleted(self, config, numbers):
|
|
print("SnapshotsDeleted", config, end='')
|
|
for number in numbers:
|
|
print("", number, end='')
|
|
print()
|
|
|
|
|
|
MessageListener()
|
|
|
|
MainLoop().run()
|