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/__main__.py | |
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/__main__.py')
-rw-r--r-- | initial_setup/__main__.py | 67 |
1 files changed, 67 insertions, 0 deletions
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 |