#! /usr/bin/python3
#
# Copyright (C) 2015 vmware inc.
#
# Author: Mahmoud Bassiouny <mbassiouny@vmware.com>
from argparse import ArgumentParser
import curses
from installercontainer import InstallerContainer
from iso_config import IsoConfig
class IsoInstaller(object):
def __init__(self, stdscreen, options_file):
self.screen = stdscreen
# Init the colors
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLUE)
curses.init_pair(2, curses.COLOR_BLACK, curses.COLOR_WHITE)
curses.init_pair(3, curses.COLOR_BLACK, curses.COLOR_GREEN)
curses.init_pair(4, curses.COLOR_RED, curses.COLOR_WHITE)
self.screen.bkgd(' ', curses.color_pair(1))
self.maxy, self.maxx = self.screen.getmaxyx()
self.screen.addstr(self.maxy - 1, 0, ' Arrow keys make selections; <Enter> activates.')
curses.curs_set(0)
config = IsoConfig()
rpm_path, install_config = config.Configure(options_file, self.maxy, self.maxx)
self.screen.clear()
installer = InstallerContainer(
install_config,
self.maxy, self.maxx,
True,
rpm_path=rpm_path,
log_path="/var/log")
installer.install(None)
if __name__ == '__main__':
usage = "Usage: %prog [options]"
parser = ArgumentParser(usage)
parser.add_argument("-j", "--json-file", dest="options_file", default="input.json")
options = parser.parse_args()
curses.wrapper(IsoInstaller, options.options_file)