#Robot RDPActive settings from pyOpenRPA.Robot import OrchestratorConnector import os import logging import datetime #Definitions lOrchestratorHost="localhost" lOrchestratorPort=8081 lOrchestratorProtocol="http" lOrchestratorAuthToken="1992-04-03-0643-ru-b4ff-openrpa52zzz" def Settings(): mDict = { "RDPList": [ { "Host": "77.77.22.22", # Host address "Port": "7777", # RDP Port "Login": "test", # Login "Password": "test", # Password "Screen": { "Width": 1680, #Width of the remote desktop in pixels "Height": 1050, #Height of the remote desktop in pixels # "640x480" or "1680x1050" or "FullScreen". If Resolution not exists set full screen "FlagUseAllMonitors": False, # True or False "DepthBit": "32" # "32" or "24" or "16" or "15" }, "SessionHex":"", # Hex is created when robot runs "FlagSessionIsActive": False } ], "FullScreenSessionIndex": None, #Index of the current session which is full screened, None is no session in fullscreen "Logger": logging.getLogger("RobotRDPActive"), "OrchestratorToRobotStorage": { "FullScreenSessionIndex":None, #Index of the session which is full screen in GUI. None if no session in full screen "IgnoreIndexList":[] }, "OrchestratorToRobotResetStorage": { "SafeTurnOff":False #Control from orchestrator to safety turn off robot }, "OrchestratorConnector": { #Fill below }, "OrchestratorConnectorTerminateAll":OrchestratorConnector.IntervalTerminateAll #Call this function when program must be shutted down (to kill threads from OrchestratorConnector) } ###################### #OrchestratorConnector ###################### mDict["OrchestratorConnector"]={ "IntervalDataSendAsync": [ { "Interval": 2.7, "RobotStorage": mDict, "RobotStorageKey": "RDPList", "OrchestratorKeyList": ["Storage", "RobotRDPActive","RobotToOrchestratorStorage","RDPList"], "OrchestratorProtocol": lOrchestratorProtocol, "OrchestratorHost": lOrchestratorHost, "OrchestratorPort": lOrchestratorPort, "OrchestratorAuthToken": lOrchestratorAuthToken }, { "Interval": 2.7, "RobotStorage": mDict, "RobotStorageKey": "RDPList", "OrchestratorKeyList": ["Storage", "RobotRDPActive","RobotToOrchestratorStorage","FullScreenSessionIndex"], "OrchestratorProtocol": lOrchestratorProtocol, "OrchestratorHost": lOrchestratorHost, "OrchestratorPort": lOrchestratorPort, "OrchestratorAuthToken": lOrchestratorAuthToken } ], "IntervalDataReceiveResetAsync": [ { "Interval": 3.3, "RobotStorage": mDict, "RobotStorageKey": "OrchestratorToRobotResetStorage", "RobotResetValue": {"SafeTurnOff":False}, "OrchestratorKeyList": ["Storage", "RobotRDPActive","OrchestratorToRobotResetStorage"], "OrchestratorProtocol": lOrchestratorProtocol, "OrchestratorHost": lOrchestratorHost, "OrchestratorPort": lOrchestratorPort, "OrchestratorAuthToken": lOrchestratorAuthToken } ], "IntervalDataReceiveAsync": [ { "Interval": 1.5, "RobotStorage": mDict, "RobotStorageKey": "OrchestratorToRobotStorage", "OrchestratorKeyList": ["Storage", "RobotRDPActive","OrchestratorToRobotStorage"], "OrchestratorProtocol": lOrchestratorProtocol, "OrchestratorHost": lOrchestratorHost, "OrchestratorPort": lOrchestratorPort, "OrchestratorAuthToken": lOrchestratorAuthToken } ] } #Turn off many warnings from orchestrator connector logger OrchestratorConnector.LoggerSetLevelError() #Run OrchestratorConnector initialization OrchestratorConnector.ConfigurationInit(mDict["OrchestratorConnector"]) ######################### #Создать файл логирования # add filemode="w" to overwrite if not os.path.exists("Reports"): os.makedirs("Reports") ########################## #Подготовка логгера Robot ######################### mRobotLogger=mDict["Logger"] mRobotLogger.setLevel(logging.INFO) # create the logging file handler mRobotLoggerFH = logging.FileHandler("Reports\ReportRobotRDPActive_"+datetime.datetime.now().strftime("%Y_%m_%d")+".log") mRobotLoggerFormatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') mRobotLoggerFH.setFormatter(mRobotLoggerFormatter) # add handler to logger object mRobotLogger.addHandler(mRobotLoggerFH) ############################################ return mDict