def Activated(self):
        selectedFile = qtutils.userSelectedFile('Config File',
                                                qtutils.JSON_FILES)

        if selectedFile is None:
            return

        fileObject = open(selectedFile, 'r')

        report.createReport(fileObject)
Exemplo n.º 2
0
 def read(self):
   if not self._isOpen:
     raise IOError('device is not open')
   data = self._device.read(1038)
   report = createReport(bytes(data))
   report._data = data
   return report
Exemplo n.º 3
0
def main():
    global pageToken
    gdriveApi = loadDriveApi()

    print(
        "--------------------------------------------------------------------")
    print("VanCity Pro Stay Home Stay Safe Challenge Drive Data for Week {}".
          format(getWeekNumber()))
    print(
        "--------------------------------------------------------------------")
    folders = getDriveFolderContents(gdriveApi, getRootFolderId(gdriveApi))
    teamFolderInfo = dict()
    for folder in folders:
        teamFolderId = folder.get('id')
        teamFolderName = folder.get('name')
        teamFolderInfo[teamFolderName] = teamFolderId

    # collect
    allVideos = processTeamVideos(gdriveApi, teamFolderInfo)

    # update
    videosNeedFixing = dict()
    videosPendingReview = dict()
    for videoEntry in allVideos:
        if videoEntry.get('day') is None or videoEntry.get('player') is None:
            videosNeedFixing[videoEntry.get('name')] = videoEntry.get('team')
        elif videoEntry.get('reviewed'):
            updateAllPoints(videoEntry)
        else:
            videosPendingReview[videoEntry.get('name')] = videoEntry.get(
                'team')

    if pageToken is not None:
        print("pageToken was not none, add paging")

    # summarize
    printSummary(allVideos, videosNeedFixing)
    createReport(allVideos, getChimpList(allVideos), videosPendingReview,
                 videosNeedFixing, getWeekNumber(), DAYS_OF_THE_WEEK,
                 DAILY_TEAM_POINTS)

    print()
    print("End")
Exemplo n.º 4
0
def main():

        # Display program banner
        print Storyboard.SEPARATOR3
        print "CyPROM v%s: Cybersecurity scenario progression management system" % (Storyboard.CYPROM_VERSION)
        print Storyboard.SEPARATOR3

	# Parse command-line arguments
	args = parse_args()

	# Initialize config
	config = init_config()

	# Setup logging
        # TODO: Restore log levels
        config["LogMode"] = "low"
	setup_logging(config["LogMode"])

        ###########################################################
        # Database & reporting operations (will exit on completion)

        # NOTE: For checking we use boolean argument values stored by the parser

	# Delete all tables in the database (delete-tables option)
	if args.delete_tables:
                print("[*] Deleting database tables...")
		logger.info("Delete all tables --- Start")
		delTable = deleteTables()
		delTable.delete()
		logger.info("Delete all tables --- Complete")
		sys.exit()

	# Output training reports (output-reports option)
	if args.output_reports:
                print("[*] Creating training reports...")
		logger.info("Create report --- Start")
		if createReport():
			logger.info("Create report --- Complete")
			sys.exit()
		else:
			print("[-] cyprom: ERROR: Could not create training report.")
			sys.exit()

	# Delete all the log files (.csv)
        # TODO: Restore functionality?
	#if args.remove:
        #        print("[*] Removing training reports...")
	#	logger.info("Remove all report --- Start")
	#	deleteReport()
	#	logger.info("Remove all report --- Complete")
        #        # TODO: Check return value to decide if message needs to be printed
        #        #print("[*] No log files found")
	#	sys.exit()

        ###########################################################
        # Normal operation mode

        start_time = time.time()

	logger.info("Initialize --- Start")

	# Initialize team
	if args.cyris:
		teamConfig = init_cyris_targets(args.cyris,args.test)
	else:
		if args.target:
			teamConfig = init_targets(args.target, args.test)
		else:
			teamConfig = init_targets(config[Storyboard.TARGET_FILE_KEY], args.test)

        if not teamConfig:
                print("[-] cyprom: ERROR: Could not read the target file => abort")
                sys.exit(1)

	if args.test:
		for teamName in teamConfig:
			for target in teamConfig[teamName]:
				teamConfig[teamName][target] = u"127.0.0.1"

	# Initialize scenario
	if args.scenario:
                print("[*] Executing scenario(s) in directory '{0}'...".format(args.scenario))
		scenarioFiles = init_scenario(teamConfig,args.scenario)
	else:
                print("[*] Executing scenario(s) in directory '{0}'...".format(config["ScenarioDirectory"]))
		scenarioFiles = init_scenario(teamConfig, config["ScenarioDirectory"])

	# Setup database
	logger.info("Set up Database --- Start")

	setupDatabase = createTable()
	setupDatabase(config, teamConfig, config[Storyboard.INITIAL_SCORE_KEY])
	del setupDatabase

	logger.info("Set up Database --- Complete")

	# Check connection with targets
	logger.info("Check connection with targets --- Start")

	monitorAll(teamConfig,args.test)

	logger.info("Check connection with targets --- Complete")

	# Create jobs usesd for fork-process-parameter
	jobs = create_jobs(teamConfig, config[Storyboard.INITIAL_SCORE_KEY], scenarioFiles, args.test)

	logger.info("Initialize --- Complete")

	# Write log about training-start
	insertLog = sqlLog()
	for teamName in teamConfig:
		insertLog.insert(teamName, "sys", "START", config[Storyboard.INITIAL_SCORE_KEY])
	del insertLog

        logger.info("\033[31mStart training\033[0m")

	if config["LogMode"] == "low":
		print(Storyboard.HEADER_TEMPLATE_BAR)
		print(Storyboard.HEADER_TEMPLATE_LOW.format("PARTICIPANT","PROGRESSION"))
		print(Storyboard.HEADER_TEMPLATE_BAR)
	elif config["LogMode"] == "normal":
		logger.info("\033[37;44;1m{0:^8} | {1:^7} | {2:^5} | {3:^16} | {4: <16} |\033[0m".format("TIME","LEVEL","PID","TEAM",""))
	else:
		logger.info("\033[37;44;1m{0:^23} | {1:^7} | {2:^5} | {3:^16} | {4: <16} |\033[0m".format("TIME","LEVEL","PID","TEAM",""))

	# Fork process
	for job in jobs:
		job.start()

        # TODO: Restore server functionality
#	if config["PublicServer"] == "on":
#		server = Process(target=app,args=(config["PublicPort"],fileDir))
#		server.start()

	try:
		while True:
			flag = False
			for job in jobs:
				if job.is_alive():
					flag = True

			if flag:
				monitorProcess(teamConfig)
			else:
				break
	except KeyboardInterrupt:
		logger.warning("Forced quit.")

	# Wait child-process
	for job in jobs:
		job.join()

	logger.info("\n\033[31mTraining completed.\033[0m")

#	if config["PublicServer"] == "on":
#		print("")
#		print("\nTraining has finished. Press Ctrl+C to end server program execution.")

        end_time = time.time()
        print("[*] Training session finished (total duration: {:.2f} s)".format(end_time - start_time))
Exemplo n.º 5
0
 def Activated(self):
     report.createReport()
Exemplo n.º 6
0
            dfEquities = df[df['typeInst'] == 'Equity']

            if dfBonds.empty == False:
                dfBonds = createBulkGedaBonds(dfBonds, d[1])
                listAttachament.append(dfBonds[1])
                            
                
            if dfEquities.empty == False:
                dfEquities = createBulksEquities(dfEquities, d[1])
                listAttachament.append(dfEquities[1])
                listAttachament.append(dfEquities[2])
        
        # # Clean df with possible duplicates values and make Report and CAZ
        try:
            if dfBonds[0].empty == False:
                listAttachament.append(createReport(dfBonds[0], 'Bonds', dt))
                listAttachament.append(createCAZ(dfBonds[0], 'Bonds', dt))
        except:
            pass
        try: 
            if dfEquities[0].empty == False:
                listAttachament.append(createReport(dfEquities[0], 'Equities', dt))
                listAttachament.append(createCAZ(dfEquities[0], 'Equities', dt))
        except:
            pass
        
        listAttachament = list(dict.fromkeys(listAttachament))
        if listAttachament == []:
            print('Email no available to this day, try again!\n')
            date = input('\nEnter with (x) to close app or enter another date (DD/MM/YYYY) to continue: ')
            if date == 'x':
 def reportAd(self, event=None):
     self.cReport = createReport(self.filename, self.title.get(),
                                 self.lang.get())