#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