summaryrefslogtreecommitdiffstats
path: root/initial_setup/__main__.py
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/__main__.py
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/__main__.py')
-rw-r--r--initial_setup/__main__.py67
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