103 lines
2.8 KiB
Python
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:])
|