def __init__(self,ui,home,tr_ay,new_tr):
global tray,new_tray_widget
tray = tr_ay
new_tray_widget = new_tr
bus = dbus.service.BusName(
AW_MPRIS_BUS_NAME,
bus=dbus.SessionBus())
super().__init__(bus, MPRIS_OBJECT_PATH)
self._properties = dbus.Dictionary({
'DesktopEntry': 'AnimeWatch',
'Identity': 'animewatch',
}, signature='sv')
self._player_properties = dbus.Dictionary({
'Metadata': dbus.Dictionary({
'mpris:artUrl': '',
'xesam:artist': ['None'],
'xesam:title': 'None',
'xesam:album': 'None'
}, signature='sv', variant_level=1),
'CanGoNext': True,
'CanGoPrevious': True,
'CanPause': True,
'CanPlay': True,
'CanControl': True,
'CanStop': True,
}, signature='sv', variant_level=2)
self.ui = ui
self.home = home
python类Dictionary()的实例源码
def __init__(self):
bus = dbus.service.BusName(
AW_MPRIS_BUS_NAME,
bus=dbus.SessionBus())
super().__init__(bus, MPRIS_OBJECT_PATH)
self._properties = dbus.Dictionary({
'DesktopEntry': 'AnimeWatch',
'Identity': 'animewatch',
}, signature='sv')
self._player_properties = dbus.Dictionary({
'Metadata': dbus.Dictionary({
'mpris:artUrl': '',
'xesam:artist': ['None'],
'xesam:title': 'None',
'xesam:album': 'None'
}, signature='sv', variant_level=1),
'CanGoNext': True,
'CanGoPrevious': True,
'CanPause': True,
'CanPlay': True,
'CanControl': True,
}, signature='sv', variant_level=2)
def __init__(self,ui,home,tr_ay,new_tr):
global tray,new_tray_widget
tray = tr_ay
new_tray_widget = new_tr
bus = dbus.service.BusName(
AW_MPRIS_BUS_NAME,
bus=dbus.SessionBus())
super().__init__(bus, MPRIS_OBJECT_PATH)
self._properties = dbus.Dictionary({
'DesktopEntry': 'AnimeWatch',
'Identity': 'animewatch',
}, signature='sv')
self._player_properties = dbus.Dictionary({
'Metadata': dbus.Dictionary({
'mpris:artUrl': '',
'xesam:artist': ['None'],
'xesam:title': 'None',
'xesam:album': 'None'
}, signature='sv', variant_level=1),
'CanGoNext': True,
'CanGoPrevious': True,
'CanPause': True,
'CanPlay': True,
'CanControl': True,
'CanStop': True,
}, signature='sv', variant_level=2)
self.ui = ui
self.home = home
def run (self, manager, Q):
print "running", self, self.running
while self.running or not Q.empty( ):
item, callbacks = Q.get( )
on_ack, on_error = callbacks
print "GOT FROM Q", item
results = None
# print "ALL SCHEDULED", manager.master.scheduler.schedules
trigger = get_trigger_for(item.get('trigger', None), manager.master.scheduler)
print "FROM TRIGGER", trigger
# http://stackoverflow.com/questions/5943249/python-argparse-and-controlling-overriding-the-exit-status-code
fuzz = dbus.Dictionary(item, signature="sv")
# fuzz.update(**item)
manager.Phase('get', fuzz);
update_phase(trigger, 'Running')
try:
app = DoTool.Make(item)
manager.Phase('make', fuzz);
print "GOT ITEM", item, app
results = app( )
update_phase(trigger, 'Success')
manager.Phase('success', fuzz);
on_ack(results)
# bad
time.sleep(0.150)
except (Exception, SystemExit), e:
print "EXCEPTINO!!!!"
print e
manager.Phase('error', fuzz);
update_phase(trigger, 'Error')
time.sleep(0.150)
on_error( )
if e:
traceback.print_exc(file=sys.stdout)
# traceback.print_last( )
finally:
# update_phase(trigger, 'Done')
# update_phase(trigger, 'Finish')
update_phase(trigger, 'Remove')
print "DONE", results
Q.task_done( )