Viewing file: example-conf-client.py (1.81 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/python # -*- coding: utf-8 -*-
import dbus
# ## FIND THE ACTUAL EXAMPLE CODE BELOW...
# try to find the module in the unpacked source tree
import sys import os.path import import_marker
# try to find the slip.dbus module
import imp
modfile = import_marker.__file__ path = os.path.dirname(modfile) found = False oldsyspath = sys.path while not found and path and path != "/": path = os.path.abspath(os.path.join(path, os.path.pardir)) try: slipmod = imp.find_module("slip", [path] + sys.path) if slipmod[1].startswith(path + "/"): found = True sys.path.insert(0, path) import slip.dbus.service except ImportError: pass
if not found:
# fall back to system paths
sys.path = oldsyspath import slip.dbus.service
# ## ...BELOW HERE:
from slip.dbus import polkit
class DBusProxy(object):
def __init__(self): self.bus = dbus.SessionBus() self.dbus_object = \ self.bus.get_object("org.fedoraproject.slip.example.mechanism", "/org/fedoraproject/slip/example/object")
@polkit.enable_proxy def read(self): return self.dbus_object.read(dbus_interface="org.fedoraproject.slip.example.mechanism")
@polkit.enable_proxy def write(self, config_data): return self.dbus_object.write(config_data, dbus_interface="org.fedoraproject.slip.example.mechanism")
example_object = DBusProxy()
# "org.fedoraproject.slip.example.mechanism", "/org/fedoraproject/slip/example/object")
config_data = example_object.read()
print "read config_data successfully:" print config_data print print
print "attempting to write config data"
example_object.write(config_data + """
And a second more.""")
print "successfully wrote config data"
|