cd_e2e_monitoring_config/yamo/yamo.py

103 lines
2.8 KiB
Python

from decouple import config
import sys, getopt
#import configBuilder
from context.Context import Context
#from Executer import Executer
from rest.RestFactory import RestFactory
from environment.YamlEnvReader import YamlEnvReader
from ProjectList import ProjectList
from tokenStore.EnvTokenStore import EnvTokenStore
import coloredlogs, logging
from Report.ReportPrinter import ReportPrinter
from Report.ConsolePrinter import ConsolePrinter
from Options import Options
#, ConsolePrinter
def printLogo():
print(r"""
___ ___ ________ _____ ______ ________
|\ \ / /|\ __ \|\ _ \ _ \|\ __ \
\ \ \/ / | \ \|\ \ \ \\\__\ \ \ \ \|\ \
\ \ / / \ \ __ \ \ \\|__| \ \ \ \\\ \
\/ / / \ \ \ \ \ \ \ \ \ \ \ \\\ \
__/ / / \ \__\ \__\ \__\ \ \__\ \_______\
|\___/ / \|__|\|__|\|__| \|__|\|_______|
\|___|/
""")
def printHelp():
printLogo()
print("yamo.py -i <inputProjectsPath> -p <project> -e <environment> -r <restcall>")
def main(argv):
options=Options.getInstance()
pathToProjects = '.'
try:
opts, args = getopt.getopt(argv,"h:i:p:e:r:l:v",["help","iPath","project", "environment", "restcall","logLevel"])
except getopt.GetoptError:
printHelp()
sys.exit(2)
for opt, arg in opts:
if opt in ('-h',"--help"):
printHelp
sys.exit()
elif opt in ("-i", "--iPath"):
options.pathToProjects = arg
elif opt in ("-p", "--project"):
options.project=arg
elif opt in ("-e", "--environment"):
options.env=arg
elif opt in ("-r", "--restcall"):
options.restCall=arg
elif opt in ("-l", "--logLevel"):
options.loglevel=arg
try:
printLogo()
logger = logging.getLogger(__name__)
coloredlogs.install(level=options.loglevel)
#logger.debug("this is a debugging message")
tokenStore=EnvTokenStore()
#print(tokenStoreX.get('NTTDATA-Api-Token'))
pathToRestConfig="restConfig.json"
restFactory = RestFactory(pathToRestConfig)
pathToEnvironmentFile=options.pathToProjects+"/environment.yaml"
envReader = YamlEnvReader(pathToEnvironmentFile, tokenStore)
context = Context.getInstance()
context.build(restFactory,envReader)
pList=ProjectList(options.pathToProjects)
pList.exec()
#if options.project:
# pList.execProject(options.project)
#else:
# pList.execAll()
#rp = ReportPrinter(pList)
#rp.append(ConsolePrinter())
#rp.print()
except:
raise
# print("Exception occured during yammo processing: ", sys.exc_info()[1])
if __name__ == "__main__":
main(sys.argv[1:])