def main(default_mountpoint = None):
    if os.geteuid() != 0:
        _ = gettext.gettext
        dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
                       gtk.BUTTONS_OK,
                       "Necesitas ejecutar este programa como root " +\
                       "(o con sudo).")
        dialog.run()
        dialog.destroy()
        sys.exit(1)

    if len(sys.argv) > 1:
        mount_point = sys.argv[1]
    elif default_mountpoint:
        mount_point = default_mountpoint
    else:
        finder = Finder()
        mount_point = finder.get_mount_point()

    sys.path.insert(0, "/usr/lib/gnome-app-install")
    os.environ['APT_CONFIG'] = gsdutils.APTCONFPATH

    # Hooks
    cmd = mount_point + '/hook/preinstall'
    if os.path.exists(cmd):
        os.system('sh ' + cmd)

    from GSDAppInstall import AppInstall
    desktop_folder = os.path.join(mount_point,"guadalinex-suplementos-apps")
    suppc = SupplementCustomizer(mount_point)
    suppc.customize()
    app = AppInstall("/usr/share/gsd", 
            desktop_folder, [sys.argv[0]] + sys.argv[2:])
    gtk.main()
Пример #2
0
    def hack(self, volume_actor):
        """
        <volume_actor> must be a volume.Actor object
        """

        self.volume_actor = volume_actor
        s = Synaptic()
        mountpoint = self.volume_actor.properties['volume.mount_point']

        def action_install_gai():
            s.install(GAIPACKAGES)
            self.show_supplement_info()

        def action_install_sup():
            os.system('gksudo guadalinex-app-install %s' %\
                    mountpoint)

        #Check for label and  README.diskdefines
        volumelabel = self.volume_actor.properties['volume.label']
        if self.__is_valid(volumelabel):
            s = Synaptic()
            actions = {}
            suppc = SupplementCustomizer(mountpoint)
            diskdefines = suppc.get_diskdefines()
            if diskdefines:
                #Check for required packages
                if s.check(GAIPACKAGES):
                    actions = {
                        "Instalar Suplemento": action_install_sup
                    }
                else:
                    actions = {
                        "Instalar herramientas para suplementos" : action_install_gai
                        }

                diskname = ''
                for key, value in diskdefines:
                    if key == 'DISKNAME':
                        diskname = value
                        break;

                message  = diskname
                summary = "Guadalinex Suplementos"
                iconpath = mountpoint + '/' + RELATIVEICONPATH
                if os.path.isfile(iconpath):
                    self.volume_actor.msg_render.show(summary, message, 
                            icon = iconpath, actions = actions)

                else:
                    self.volume_actor.msg_render.show_info(summary, message,
                            actions = actions)
Пример #3
0
def main(default_mountpoint=None):
    if os.geteuid() != 0:
        _ = gettext.gettext
        msg = 'Necesita ejecutar este programa como root '
        msg += '(por ejemplo, con <i>sudo guadalinex-app-install</i>'
        msg += ' desde un terminal).'

        dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK)
        dialog.set_markup(msg)
        dialog.set_title('Error')
        dialog.run()
        dialog.destroy()
        sys.exit(1)

    if len(sys.argv) > 1:
        mount_point = sys.argv[1]
    elif default_mountpoint:
        mount_point = default_mountpoint
    else:
        finder = Finder()
        mount_point = finder.get_mount_point()

    sys.path.insert(0, "/usr/lib/gnome-app-install")
    os.environ['APT_CONFIG'] = gsdutils.APTCONFPATH

    # Hooks
    cmd = mount_point + '/hook/preinstall'
    if os.path.exists(cmd):
        os.system('sh ' + cmd)

    from GSDAppInstall import AppInstall
    desktop_folder = os.path.join(mount_point, "guadalinex-suplementos-apps")
    suppc = SupplementCustomizer(mount_point)
    suppc.customize()
    app = AppInstall("/usr/share/gsd", desktop_folder,
                     [sys.argv[0]] + sys.argv[2:])
    gtk.main()