Kaydet (Commit) cfb8473c authored tarafından Bahadır Kandemir's avatar Bahadır Kandemir

Support for COMAR 3.0

üst acbd8011
2009-02-01 Bahadır Kandemir <bahadir@pardus.org.tr>
* api: Support COMAR 3.0
2008-10-27 Bahadır Kandemir <bahadir@pardus.org.tr> 2008-10-27 Bahadır Kandemir <bahadir@pardus.org.tr>
* comar: New release. Good old friend, Link() is back. * comar: New release. Good old friend, Link() is back.
......
...@@ -66,7 +66,7 @@ class Call: ...@@ -66,7 +66,7 @@ class Call:
def handleResult(*result): def handleResult(*result):
self.async(self.package, None, result) self.async(self.package, None, result)
def handleError(exception): def handleError(exception):
if "policy.auth" in exception._dbus_error_name: if "policy.auth" in exception._dbus_error_name or "Comar.PolicyKit" in exception._dbus_error_name:
action = exception.get_dbus_message() action = exception.get_dbus_message()
if self.queryPolicyKit(action): if self.queryPolicyKit(action):
return self.call(*args, **kwargs) return self.call(*args, **kwargs)
...@@ -118,12 +118,12 @@ class Call: ...@@ -118,12 +118,12 @@ class Call:
met = getattr(obj, self.method) met = getattr(obj, self.method)
try: try:
return met(dbus_interface="%s.%s.%s" % (self.link.interface, self.group, self.class_), timeout=self.timeout, *args) return met(dbus_interface="%s.%s.%s" % (self.link.interface, self.group, self.class_), timeout=self.timeout, *args)
except dbus.DBusException, e: except dbus.DBusException, exception:
if "policy.auth" in e._dbus_error_name: if "policy.auth" in exception._dbus_error_name or "Comar.PolicyKit" in exception._dbus_error_name:
action = e.get_dbus_message() action = exception.get_dbus_message()
if self.queryPolicyKit(action): if self.queryPolicyKit(action):
return self.call(*args, **kwargs) return self.call(*args, **kwargs)
raise dbus.DBusException, e raise dbus.DBusException, exception
else: else:
raise AttributeError, "Package name required for non-async calls." raise AttributeError, "Package name required for non-async calls."
...@@ -167,6 +167,14 @@ class Link: ...@@ -167,6 +167,14 @@ class Link:
handler(package, signal, args) handler(package, signal, args)
self.bus.add_signal_receiver(sigHandler, dbus_interface="%s.%s" % (self.interface, model), member_keyword="signal", path_keyword="path") self.bus.add_signal_receiver(sigHandler, dbus_interface="%s.%s" % (self.interface, model), member_keyword="signal", path_keyword="path")
def register(self, app, model, script):
obj = self.bus.get_object(self.address, '/', introspect=False)
obj.register(app, model, script, dbus_interface=self.interface)
def remove(self, app):
obj = self.bus.get_object(self.address, '/', introspect=False)
obj.remove(app, dbus_interface=self.interface)
def __getattr__(self, name): def __getattr__(self, name):
if name[0] < 'A' or name[0] > 'Z': if name[0] < 'A' or name[0] > 'Z':
raise AttributeError raise AttributeError
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment