Beispiel #1
0
    def set_default_for_type(self, desktopapp, content_type):
        gio.app_info_reset_type_associations(content_type)

        #commandline = desktopapp.get_commandline()
        #app = self.get_app_info(commandline)

        try:
            #print desktopapp
            desktopapp.set_as_default_for_type(content_type)
        except:
            print "set app default failed for type ", content_type
    def set_default_for_type(self, desktopapp, content_type):
        gio.app_info_reset_type_associations(content_type)

        #commandline = desktopapp.get_commandline()
        #app = self.get_app_info(commandline)

        try:
            #print desktopapp
            desktopapp.set_as_default_for_type(content_type)
        except:    
            print "set app default failed for type ",content_type 
Beispiel #3
0
            apps.remove(default_app)

            # get real default
            app = filter(
                lambda a: a.get_commandline().split(" ")[0] == default_app.
                get_commandline().split(" ")[0], apps)
            if app:
                apps.remove(app[0])
                apps.insert(0, app[0])
        return apps


if __name__ == "__main__":

    manager = AppManager()
    gio.app_info_reset_type_associations(manager.photo_content_type)
    app = manager.get_default_for_type(manager.photo_content_type)
    print "default for http:", app

    print "available list for http:"
    for app in manager.get_all_for_type(manager.photo_content_type):
        print app.get_commandline(), app.get_name(), app.get_id()

    #print "set default for http:"
    #for app in manager.get_all_for_type(manager.http_content_type):
    #if app != manager.get_default_for_type(manager.http_content_type):
    ####attention, let https same as http
    #manager.set_default_for_type(app, manager.http_content_type)
    #manager.set_default_for_type(app, manager.https_content_type)
    #break
    #else:
        apps = gio.app_info_get_all_for_type(content_type)
        default_app = self.get_default_for_type(content_type)
        if default_app and default_app.get_id().startswith("userapp"):
            apps.remove(default_app)

            # get real default
            app = filter(lambda a: a.get_commandline().split(" ")[0] == default_app.get_commandline().split(" ")[0], apps)
            if app:
                apps.remove(app[0])
                apps.insert(0, app[0])
        return apps

if __name__ == "__main__":

    manager = AppManager()
    gio.app_info_reset_type_associations(manager.photo_content_type)
    app = manager.get_default_for_type(manager.photo_content_type)
    print "default for http:", app
        
    print "available list for http:"
    for app in manager.get_all_for_type(manager.photo_content_type):
        print app.get_commandline(), app.get_name(),app.get_id()


    #print "set default for http:"    
    #for app in manager.get_all_for_type(manager.http_content_type):
        #if app != manager.get_default_for_type(manager.http_content_type):
            ####attention, let https same as http
            #manager.set_default_for_type(app, manager.http_content_type)
            #manager.set_default_for_type(app, manager.https_content_type)
            #break