# global variables used over the entire deployer project
import os
import datetime

starttime = 0
stoptime = 0
fnull = 0
fstdout = 0
configFile = "config.json"

def init(debug):
    global fnull
    global fstdout
    fnull = open(os.devnull,'w')
    fstdout = fnull
    if debug:
        # this relies on file descriptor one always being stdout
        fstdout=1

def timeStampLog(method):
    print(method+" "+datetime.datetime.today().strftime("%B %d,%Y at %H:%M")+os.linesep)

def timeStampInstallLog(msg):
    timeStampLog("CMS Install "+msg)

def timeStampRemoveLog(msg):
    timeStampLog("CMS Remove "+msg)

def timeStampCheckLog(msg):
    timeStampLog("CMS Check "+msg)

def timeStampWaitLog(msg):
    timeStampLog("CMS Wait "+msg)

def timeStampStatusLog(msg):
    timeStampLog("CMS Status "+msg)

def startLog():
    global starttime
    starttime=datetime.datetime.now()

def stopLog():
    global stoptime
    global starttime
    stoptime=datetime.datetime.now()
    print "Run time: "+str(stoptime-starttime)
    print
    print "Please switch back to Progress View to continue."

def close():
    if fnull != 0:
        fnull.close()
