summaryrefslogtreecommitdiffstats
path: root/initial_setup
diff options
context:
space:
mode:
authorMartin Sivak <msivak@redhat.com>2013-03-05 09:34:51 +0100
committerMartin Sivak <msivak@redhat.com>2013-03-05 09:34:51 +0100
commitd4c6d44ba432ba873c489a25e493ca9c1b0c40f9 (patch)
treedc8090c7ead44fe32b0742582d80735c2787a9c0 /initial_setup
parent572a7f65b8c752dcf4a14106896812949d358c6a (diff)
downloadfirstboot2-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/Makefile66
-rw-r--r--initial_setup/__main__.py67
-rw-r--r--initial_setup/gui/__init__.py1
-rw-r--r--initial_setup/gui/__main__.py41
-rw-r--r--initial_setup/gui/gui.py10
-rw-r--r--initial_setup/gui/hubs/__init__.py2
-rw-r--r--initial_setup/gui/hubs/initial_setup.py4
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"