home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/python
- # update-manager.in - easy updating application
- #
- # Copyright (c) 2004,2005 Canonical
- # 2004,2005 Michiel Sikkes
- #
- # Author: Michiel Sikkes <michiel@eyesopened.nl>
- # Michael Vogt <mvo@debian.org>
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License as
- # published by the Free Software Foundation; either version 2 of the
- # License, or (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- # USA
-
- import pygtk
- pygtk.require('2.0')
- import gtk
- import gtk.gdk
- import gtk.glade
- import gobject
- import gettext
- import os
- import sys
-
- from optparse import OptionParser
-
- import UpdateManager.Common.aptsources as aptsources
-
- #sys.path.append("@prefix@/share/update-manager/python")
-
- from SoftwareProperties import SoftwareProperties
-
- if __name__ == "__main__":
- _ = gettext.gettext
-
- # Begin parsing of options
- parser = OptionParser()
- parser.add_option ("-n", "--no-update", action="store_true",
- dest="no_update", default=False,
- help="No update on repository change (usefull if called "\
- "from a external program).")
- parser.add_option("-t", "--toplevel",
- action="store", type="string", dest="toplevel",
- help="Set x-window-id of the toplevel parent for the "\
- "dialog (usefull for embedding)")
- parser.add_option("-e", "--enable-component",
- action="store", type="string", dest="enable_component",
- help="Enable the specified component of the distro's "\
- "repositories")
-
-
- (options, args) = parser.parse_args()
- # Check for root permissions
- if os.geteuid() != 0:
- dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
- _("You need to be root to run this program") )
- dialog.set_default_response(gtk.RESPONSE_CLOSE)
- dialog.run()
- dialog.destroy()
- sys.exit(1)
-
- localesApp="update-manager"
- localesDir="/usr/share/locale"
- gettext.bindtextdomain(localesApp, localesDir)
- gettext.textdomain(localesApp)
- gtk.glade.bindtextdomain(localesApp, localesDir)
- gtk.glade.textdomain(localesApp)
-
- data_dir="/usr/share/update-manager/"
- #data_dir="/tmp/xxx/share/update-manager/"
- file = None
- if len(args) > 0:
- file = args[0]
- if options.enable_component:
- sourceslist = aptsources.SourcesList()
- distro = aptsources.Distribution()
- distro.get_sources(sourceslist)
- distro.enable_component(sourceslist, options.enable_component)
- sourceslist.save()
- else:
- app = SoftwareProperties.SoftwareProperties(data_dir, options, file)
- app.run()
- sys.exit(app.modified)
-