#!/usr/bin/python
#       DESCRIPTION:    display module for install (cli)
#
#       SCRIPT NAME:    ri_inst_cli.py
#
#       MENTOR:         Li Zhi
#
#       AUTHOR:         Ling Fen
#
#       EMAIL:          fling@linx-info.com
#
#       DATE:           2010-09-20
#
#       HISTORY:
#       REVISOR         DATE                    MODIFICATION
#       Ling Fen        2010-09-04              create
#

import ri_progress,re,os
from ri_oper import language, Rate
from snack import *
import ri_data

def set_task(task_name):
    ri_progress.i_operation = task_name

def set_sub_task(sub_task):
    ri_progress.i_operation = sub_task

def set_task_scale():
    ri_progress.i_percent = int(Rate.value)

def set_task_over():
    screen = SnackScreen()
    screen.drawRootText(0, 0, 'Rocky Security OS Install')
    screen.pushHelpLine(' ')
    g = GridForm(screen, 'Rocky Install', 1, 3)
    txt1 = Label('Automated Install Rocky OS successfully, and the OS will reboot in 10 seconds ......')
    txt2 = Label('Automated Install Rocky OS successfully, and the OS will shutdown in 10 seconds ......')
    txt3 = Label('Install Rocky OS successfully, do you want to reboot ?')
    elabel = Label('')
    bb = ButtonBar(screen, (('Ok','ok'),('Cancel','cancel')))
    g.add(elabel, 0, 1)
    if ri_data.FinishState.flag.strip()  == 'reboot':
        g.add(txt1, 0, 1)
        g.setTimer(10000)
        g.runOnce()
        screen.finish()
        return 'reboot'
    elif ri_data.FinishState.flag.strip()  == 'shutdown':
        g.add(txt2, 0, 1)
        g.setTimer(10000)
        g.runOnce()
        screen.finish()
        return 'shutdown'
    elif ri_data.FinishState.flag.strip()  == 'nothing':
        g.add(txt3, 0, 0)
        g.add(bb, 0, 2)
        res = g.run()
        screen.refresh()
        if bb.buttonPressed(res) == 'ok':
            screen.finish()
            return 'reboot'
        else:
            screen.finish()
            return 'nothing'

def root_destroy(): 
    pass

def error(oper, ret):
    print "%s:\n Error number: %d\n %s"%(oper.english_name, ret, oper.return_value[ret][0])

def start(func):
    func()
