diff options
author | Martin Sivak <msivak@redhat.com> | 2013-03-05 09:34:51 +0100 |
---|---|---|
committer | Martin Sivak <msivak@redhat.com> | 2013-03-05 09:34:51 +0100 |
commit | d4c6d44ba432ba873c489a25e493ca9c1b0c40f9 (patch) | |
tree | dc8090c7ead44fe32b0742582d80735c2787a9c0 /initial_setup | |
parent | 572a7f65b8c752dcf4a14106896812949d358c6a (diff) | |
download | firstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.tar.gz firstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.tar.xz firstboot2-d4c6d44ba432ba873c489a25e493ca9c1b0c40f9.zip |
Make the main script UI agnostic and fix typos, imports and paths
Diffstat (limited to 'initial_setup')
-rw-r--r-- | initial_setup/Makefile | 66 | ||||
-rw-r--r-- | initial_setup/__main__.py | 67 | ||||
-rw-r--r-- | initial_setup/gui/__init__.py | 1 | ||||
-rw-r--r-- | initial_setup/gui/__main__.py | 41 | ||||
-rw-r--r-- | initial_setup/gui/gui.py | 10 | ||||
-rw-r--r-- | initial_setup/gui/hubs/__init__.py | 2 | ||||
-rw-r--r-- | initial_setup/gui/hubs/initial_setup.py | 4 |
7 files changed, 77 insertions, 114 deletions
diff --git a/initial_setup/Makefile b/initial_setup/Makefile deleted file mode 100644 index 35a8d98..0000000 --- a/initial_setup/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# Makefile.am for anaconda -# -# Copyright (C) 2009 Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Author: Martin Sivak <msivak@redhat.com> - -ANACONDA_PATH=${HOME}/Work/anaconda/master - -# GUI TESTING -rungui: - ANACONDA_DATA=${ANACONDA_PATH}/data \ - ANACONDA_WIDGETS_OVERRIDES=${ANACONDA_PATH}/widgets/python \ - ANACONDA_WIDGETS_DATA=${ANACONDA_PATH}/widgets/data \ - ANACONDA_INSTALL_CLASSES=${ANACONDA_PATH}/pyanaconda/installclasses \ - PYTHONPATH=.:${ANACONDA_PATH}/pyanaconda/isys/.libs:${ANACONDA_PATH}/widgets/python/:${ANACONDA_PATH}/widgets/src/.libs/:${ANACONDA_PATH} \ - LD_LIBRARY_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - UIPATH=gui/:${ANACONDA_PATH}/pyanaconda/ui/gui/ \ - GI_TYPELIB_PATH=${ANACONDA_PATH}/widgets/src/ \ - GLADE_CATALOG_SEARCH_PATH=${ANACONDA_PATH}/widgets/glade \ - GLADE_MODULE_SEARCH_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - python -m gui - -runtui: - ANACONDA_DATA=${ANACONDA_PATH}/data \ - ANACONDA_INSTALL_CLASSES=${ANACONDA_PATH}/pyanaconda/installclasses \ - PYTHONPATH=.:${ANACONDA_PATH}:${ANACONDA_PATH}/pyanaconda/isys/.libs \ - python -m tui - -runglade: - ANACONDA_DATA=${ANACONDA_PATH}/data \ - ANACONDA_WIDGETS_OVERRIDES=${ANACONDA_PATH}/widgets/python \ - ANACONDA_WIDGETS_DATA=${ANACONDA_PATH}/widgets/data \ - ANACONDA_INSTALL_CLASSES=${ANACONDA_PATH}/pyanaconda/installclasses \ - PYTHONPATH=.:${ANACONDA_PATH}:${ANACONDA_PATH}/pyanaconda/isys/.libs:${ANACONDA_PATH}/widgets/python/:${ANACONDA_PATH}/widgets/src/.libs/ \ - LD_LIBRARY_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - UIPATH=${ANACONDA_PATH}/pyanaconda/ui/gui/ \ - GI_TYPELIB_PATH=${ANACONDA_PATH}/widgets/src/ \ - GLADE_CATALOG_SEARCH_PATH=${ANACONDA_PATH}/widgets/glade \ - GLADE_MODULE_SEARCH_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - glade ${GLADE_FILE} - -runpy: - ANACONDA_DATA=${ANACONDA_PATH}/data \ - ANACONDA_WIDGETS_OVERRIDES=${ANACONDA_PATH}/widgets/python \ - ANACONDA_WIDGETS_DATA=${ANACONDA_PATH}/widgets/data \ - ANACONDA_INSTALL_CLASSES=${ANACONDA_PATH}/pyanaconda/installclasses \ - PYTHONPATH=.:${ANACONDA_PATH}:${ANACONDA_PATH}/pyanaconda/isys/.libs:${ANACONDA_PATH}/widgets/python/:${ANACONDA_PATH}/widgets/src/.libs/ \ - LD_LIBRARY_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - UIPATH=gui/:${ANACONDA_PATH}/pyanaconda/ui/gui/ \ - GI_TYPELIB_PATH=${ANACONDA_PATH}/widgets/src/ \ - GLADE_CATALOG_SEARCH_PATH=${ANACONDA_PATH}/widgets/glade \ - GLADE_MODULE_SEARCH_PATH=${ANACONDA_PATH}/widgets/src/.libs \ - ipython diff --git a/initial_setup/__main__.py b/initial_setup/__main__.py new file mode 100644 index 0000000..ec5bfba --- /dev/null +++ b/initial_setup/__main__.py @@ -0,0 +1,67 @@ +#!/bin/python +import os + +if "DISPLAY" in os.environ: + mode="gui" +else: + mode="tui" + +if mode == "gui": + # We need this so we can tell GI to look for overrides objects + # also in anaconda source directories + import gi.overrides + for p in os.environ.get("ANACONDA_WIDGETS_OVERRIDES", "").split(":"): + gi.overrides.__path__.insert(0, p) + +# set the root path to / so the imported spokes +# know where to apply their changes +from pyanaconda.constants import ROOT_PATH +ROOT_PATH = "/" + +from pyanaconda.addons import collect_addon_paths + +addon_paths = ["/usr/share/initial-setup/modules", "/usr/share/anaconda/addons"] +addon_module_paths = collect_addon_paths(addon_paths) + +# Too bad anaconda does not have modularized logging +from pyanaconda import anaconda_log +anaconda_log.init() + +# Prepare new data object +from pyanaconda import kickstart +data = kickstart.AnacondaKSHandler(addon_module_paths["ks"]) + +# Replace storage commands by Dummy objects +# TODO + +# Read the installed kickstart +parser = kickstart.AnacondaKSParser(data) +parser.readKickstart("anaconda-ks.cfg") + +if mode == "gui": + # Import IS gui specifics + import gui + + # Add addons to search paths + gui.InitialSetupGraphicalUserInterface.update_paths(addon_module_paths) + + # Initialize the UI + ui = gui.InitialSetupGraphicalUserInterface(None, None, None) +else: + # Import IS gui specifics + import tui + + # Add addons to search paths + tui.InitialSetupTextUserInterface.update_paths(addon_module_paths) + + # Initialize the UI + ui = gui.InitialSetupTextUserInterface(None, None, None) + +# Pass the data object to user inteface +ui.setup(data) + +# Start the application +ui.run() + +# Print the kickstart file +print data diff --git a/initial_setup/gui/__init__.py b/initial_setup/gui/__init__.py index e69de29..19247f0 100644 --- a/initial_setup/gui/__init__.py +++ b/initial_setup/gui/__init__.py @@ -0,0 +1 @@ +from .gui import InitialSetupGraphicalUserInterface diff --git a/initial_setup/gui/__main__.py b/initial_setup/gui/__main__.py deleted file mode 100644 index af8c5e9..0000000 --- a/initial_setup/gui/__main__.py +++ /dev/null @@ -1,41 +0,0 @@ -import os - -# We need this so we can tell GI to look for overrides objects -# also in anaconda source directories -import gi.overrides -for p in os.environ.get("ANACONDA_WIDGETS_OVERRIDES", "").split(":"): - gi.overrides.__path__.insert(0, p) - -# set the root path to / so the imported spokes -# know where to apply their changes -from pyanaconda.constants import ROOT_PATH -ROOT_PATH = "/" - -from pyanaconda.addons import collect_addon_paths - -addon_paths = ["/usr/share/initial-setup/modules", "/usr/share/anaconda/addons"] -addon_module_paths = collect_addon_paths(addon_paths) - -# Too bad anaconda does not have modularized logging -from pyanaconda import anaconda_log -anaconda_log.init() - -# Prepare new data object -from pyanaconda import kickstart -data = kickstart.AnacondaKSHandler(addon_module_paths["ks"]) - -# Import IS gui specifics -import gui - -# Add addons to search paths -gui.InitalSetupGraphicalUserInterface.update_paths(addon_module_paths) - -# Initialize the UI -g = gui.InitalSetupGraphicalUserInterface(None, None, None) -g.setup(data) - -# Start the application -g.run() - -# Print the kickstart file -print data diff --git a/initial_setup/gui/gui.py b/initial_setup/gui/gui.py index 13f93b7..24e5a27 100644 --- a/initial_setup/gui/gui.py +++ b/initial_setup/gui/gui.py @@ -1,6 +1,6 @@ from pyanaconda.ui.gui import QuitDialog, GUIObject, GraphicalUserInterface #from .product import productName, productVersion -from .hubs import InitalSetupMainHub +from .hubs import InitialSetupMainHub from pyanaconda.ui.gui.spokes import StandaloneSpoke import pyanaconda.ui.gui.spokes from pyanaconda.ui.common import collect, FirstbootSpokeMixIn @@ -16,12 +16,12 @@ N_ = lambda t: t productTitle = lambda: "Initial Setup of Fedora" isFinal = lambda: False -class InitalSetupQuitDialog(QuitDialog): +class InitialSetupQuitDialog(QuitDialog): MESSAGE = N_("Are you sure you want to quit the configuration process?\n" "You might end up with unusable system if you do.") @inject(Gdk, productTitle = productTitle, isFinal = isFinal) -class InitalSetupGraphicalUserInterface(GraphicalUserInterface): +class InitialSetupGraphicalUserInterface(GraphicalUserInterface): """This is the main Gtk based firstboot interface. It inherits from anaconda to make the look & feel as similar as possible. """ @@ -32,10 +32,10 @@ class InitalSetupGraphicalUserInterface(GraphicalUserInterface): def __init__(self, storage, payload, instclass): GraphicalUserInterface.__init__(self, storage, payload, instclass, productTitle, isFinal, - quitDialog = InitalSetupQuitDialog) + quitDialog = InitialSetupQuitDialog) def _list_hubs(self): - return [InitalSetupMainHub] + return [InitialSetupMainHub] basemask = "firstboot.gui" basepath = os.path.dirname(__file__) diff --git a/initial_setup/gui/hubs/__init__.py b/initial_setup/gui/hubs/__init__.py index b6f577d..5d166d6 100644 --- a/initial_setup/gui/hubs/__init__.py +++ b/initial_setup/gui/hubs/__init__.py @@ -1 +1 @@ -from initial_setup import InitalSetupMainHub +from .initial_setup import InitialSetupMainHub diff --git a/initial_setup/gui/hubs/initial_setup.py b/initial_setup/gui/hubs/initial_setup.py index a0f87db..f966782 100644 --- a/initial_setup/gui/hubs/initial_setup.py +++ b/initial_setup/gui/hubs/initial_setup.py @@ -3,6 +3,8 @@ from pyanaconda.ui.gui.spokes import Spoke from pyanaconda.ui.common import collect import os +__all__ = ["InitialSetupMainHub"] + def collect_spokes(mask_paths): """Return a list of all spoke subclasses that should appear for a given category. Look for them in files imported as module_path % basename(f) @@ -23,7 +25,7 @@ def collect_spokes(mask_paths): return spokes -class InitalSetupMainHub(Hub): +class InitialSetupMainHub(Hub): uiFile = "initial_setup.glade" builderObjects = ["summaryWindow"] mainWidgetName = "summaryWindow" |