Python ve dbus ile ilgili bir sorunum var. Geliştirici dokümanlarını ve teknik özelliklerini inceledim, ancak ana döngü nasıl kurulacağını anlamıyorum. Bildirim olaylarını dinlemek istiyorum. BkzPython ve d-bus: Ana döngü nasıl kurulur?
http://dbus.freedesktop.org/doc/dbus-python/doc/
ve
http://www.galago-project.org/specs/notification/0.9/index.html
Benim örnek komut dosyası:import dbus
from dbus.mainloop.glib import DBusGMainLoop
class MessageListener:
def __init__(self):
DBusGMainLoop(set_as_default=True)
self.bus = dbus.SessionBus()
self.proxy = self.bus.get_object('org.freedesktop.Notifications',
'/org/freedesktop/Notifications')
self.proxy.connect_to_signal('NotificationClosed',
self.handle_notification)
def handle_notification(self, *args, **kwargs):
print args, kwargs
if __name__ == '__main__':
MessageListener()
DBusGMainLoop çalıştırmak gibi başka yöntemleri vardır(). Ben gobject bir döngü ve sourcecode değiştirirseniz :
import gobject
loop = gobject.MainLoop()
dbus.set_default_main_loop(loop)
...
loop.run()
Ben hata mesajı aşağıdaki olsun:
Traceback (most recent call last):
File "dbus_example.py", line 40, in <module>
MessageListener()
File "dbus_example.py", line 9, in __init__
dbus.set_default_main_loop(loop)
TypeError: A dbus.mainloop.NativeMainLoop instance is required
konusunda fikrin bu konuda ne yapmalı? Şimdiden teşekkürler. phineas
çok teşekkürler, şimdi çalışıyor. Bir ana döngü inşaatı çok belli değil, değil mi? – phineas