#!/usr/bin/python3 # -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*- # # Copyright (c) 2004-2012 Canonical # 2004-2008 Michael Vogt # 2004 Michiel Sikkes # # Author: Michiel Sikkes # Michael Vogt # # 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 from __future__ import print_function from gi.repository import Gtk import gi gi.require_version("Gtk", "3.0") import os import sys from DistUpgrade.DistUpgradeVersion import VERSION from DistUpgrade.DistUpgradeController import DistUpgradeController import locale import gettext from optparse import OptionParser if __name__ == "__main__": Gtk.init_check(sys.argv) Gtk.Window.set_default_icon_name("system-software-update") #FIXME: Workaround a bug in optparser which doesn't handle unicode/str # correctly, see http://bugs.python.org/issue4391 # Should be resolved by Python3 gettext.bindtextdomain("ubuntu-release-upgrader", "/usr/share/locale") gettext.textdomain("ubuntu-release-upgrader") translation = gettext.translation("ubuntu-release-upgrader", fallback=True) if sys.version >= '3': _ = translation.gettext else: _ = translation.ugettext try: locale.setlocale(locale.LC_ALL, "") except: pass # Begin parsing of options parser = OptionParser() parser.add_option ("-V", "--version", action="store_true", dest="show_version", default=False, help=_("Show version and exit")) parser.add_option ("--data-dir", "", default="/usr/share/ubuntu-release-upgrader/", help=_("Directory that contains the data files")) parser.add_option ("-f", "--frontend", default="DistUpgradeViewText", dest="frontend", help=_("Run the specified frontend")) (options, args) = parser.parse_args() data_dir = os.path.normpath(options.data_dir)+"/" if options.show_version: print("%s: version %s" % (os.path.basename(sys.argv[0]), VERSION)) sys.exit(0) module_name = "DistUpgrade." + options.frontend module = __import__(module_name) submodule = getattr(module, options.frontend) view_class = getattr(submodule, options.frontend) view = view_class(data_dir) if options.frontend == "DistUpgradeViewGtk3": view.label_title.set_markup("%s" % _("Running partial upgrade")) controller = DistUpgradeController(view, datadir=data_dir) controller.doPartialUpgrade()