Ejemplo n.º 1
0
 def finish(self, require_x=False):
     """Try to set self.object from init's parameters"""
     item = None
     if self.init_item:
         item = self.init_item
     else:
         # Construct an AppInfo item from either path or item_id
         from gio.unix import DesktopAppInfo, desktop_app_info_new_from_filename
         if self.init_path and (not require_x
                                or os.access(self.init_path, os.X_OK)):
             # serilizable if created from a "loose file"
             self.serializable = 1
             item = desktop_app_info_new_from_filename(self.init_path)
         elif self.init_item_id:
             try:
                 item = DesktopAppInfo(self.init_item_id)
             except RuntimeError:
                 pretty.print_debug(__name__, "Application not found:",
                                    self.init_item_id)
     self.object = item
     if not self.object:
         raise InvalidDataError
Ejemplo n.º 2
0
 def __init__(self, dbus_obj):
     self._dbus_obj = dbus_obj
     entry = self.get_root_property('DesktopEntry')
     # TODO: handle case of absent DesktopEntry (DesktopEntry is optional according to MPRIS2)
     self.desktop_app_info = DesktopAppInfo(entry + '.desktop')