You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ORPA-pyOpenRPA/Wiki/ENG_Guide/markdown/Orchestrator.md

1106 lines
18 KiB

<!-- pyOpenRPA documentation master file, created by
sphinx-quickstart on Sat Dec 19 23:59:00 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. -->
# Welcome to pyOpenRPAs documentation!
# Indices and tables
* Index
* Module Index
* Search Page
# pyOpenRPA Orchestrator
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDict)
Add activity in AgentDict. Check if item is created
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inHostNameStr** Agent host name
* **inUserStr** User login, where agent is based
* **inActivityItemDict** ActivityItem
* **Returns**
sad
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True)
pyOpenRPA.Agent: Send CMD to OS. Result return to log + Orchestrator by the A2O connection
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inHostNameStr**
* **inUserStr**
* **inCMDStr**
* **inRunAsyncBool**
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inHostNameStr**
* **inUserStr**
* **inFilePathStr**
* **inFileDataBase64Str**
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inHostNameStr**
* **inUserStr**
* **inFilePathStr**
* **inFileDataBytes**
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr='utf-8')
pyOpenRPA.Agent: Create text file by the string
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None):
Create Activity Item for the agent
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inHostNameStr**
* **inUserStr**
* **inFilePathStr**
* **inFileDataStr**
* **inEncodingStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner(inGSettings)
Interval gsettings auto cleaner
* **Parameters**
**inGSettings** Global settings dict (singleton)
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend(inGSettings, inValue, inKeyList=None)
Append value in GSettings by the key list
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inValue**
* **inKeyList**
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueGet(inGSettings, inKeyList=None)
Get the value from the GSettings by the key list
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inKeyList**
* **Returns**
value any type
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueOperatorPlus(inGSettings, inValue, inKeyList=None)
Operator plus value in GSettings by the key list
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inValue**
* **inKeyList**
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueSet(inGSettings, inValue, inKeyList=None)
Set value in GSettings by the key list
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inValue**
* **inKeyList**
* **Returns**
bool
### pyOpenRPA.Orchestrator.__Orchestrator__.OSCMD(inCMDStr, inRunAsyncBool=True, inLogger=None)
OS send command in shell locally
* **Parameters**
* **inCMDStr**
* **inRunAsyncBool**
* **inLogger**
* **Returns**
CMD result string
### pyOpenRPA.Orchestrator.__Orchestrator__.OSCredentialsVerify(inUserStr, inPasswordStr, inDomainStr='')
Verify user credentials in windows. Return bool
* **Parameters**
* **inUserStr**
* **inPasswordStr**
* **inDomainStr**
* **Returns**
True - Credentials are actual; False - Credentials are not actual
### pyOpenRPA.Orchestrator.__Orchestrator__.OrchestratorRestart(inGSettings=None)
Orchestrator restart
* **Parameters**
**inGSettings** Global settings dict (singleton)
### pyOpenRPA.Orchestrator.__Orchestrator__.OrchestratorSessionSave(inGSettings=None)
Orchestrator session save in file _SessionLast_RDPList.json (encoding = “utf-8”)
* **Parameters**
**inGSettings** Global settings dict (singleton)
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessIsStarted(inProcessNameWOExeStr)
Check if there is any running process that contains the given name processName.
* **Parameters**
**inProcessNameWOExeStr**
* **Returns**
True - process is running; False - process is not running
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessListGet(inProcessNameWOExeList=None)
Check activity of the list of processes
* **Parameters**
**inProcessNameWOExeList**
* **Returns**
TODO FILL THE RESULT DICT
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessStart(inPathStr, inArgList, inStopProcessNameWOExeStr=None)
Start process locally [optional: if task name is not started]
* **Parameters**
* **inPathStr**
* **inArgList**
* **inStopProcessNameWOExeStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessStop(inProcessNameWOExeStr, inCloseForceBool, inUserNameStr='%username%')
Stop process
* **Parameters**
* **inProcessNameWOExeStr**
* **inCloseForceBool**
* **inUserNameStr**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorActivityItemAppend(inGSettings, inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None)
Add Activity item in Processor list
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inDef**
* **inArgList**
* **inArgDict**
* **inArgGSettingsStr**
* **inArgLoggerStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorActivityItemCreate(inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None)
Create ActivityItem
* **Parameters**
* **inDef**
* **inArgList**
* **inArgDict**
* **inArgGSettingsStr**
* **inArgLoggerStr**
* **Returns**
{}
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorAliasDefCreate(inGSettings, inDef, inAliasStr=None)
Create alias for def (can be used in ActivityItem in field Def)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inDef**
* **inAliasStr**
* **Returns**
str Alias
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorAliasDefUpdate(inGSettings, inDef, inAliasStr)
Update alias for def (can be used in ActivityItem in field Def)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inDef**
* **inAliasStr**
* **Returns**
str Alias
### pyOpenRPA.Orchestrator.__Orchestrator__.PythonStart(inModulePathStr, inDefNameStr, inArgList=None, inArgDict=None, inLogger=None)
Python import module and start def
* **Parameters**
* **inModulePathStr**
* **inDefNameStr**
* **inArgList**
* **inArgDict**
* **inLogger**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr='CROSSCHECK')
Send command in RDP session
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inCMDStr**
* **inModeStr**
* **Returns**
True - CMD was executed successfully
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None, inHostStr=None, inPortStr=None, inLoginStr=None, inPasswordStr=None)
Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if key is exists
2 way of the use
Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inRDPTemplateDict**
* **inHostStr**
* **inPortStr**
* **inLoginStr**
* **inPasswordStr**
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None)
Disconnect the RDP session
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inBreakTriggerProcessWOExeList**
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve(inGSettings)
Search dublicates in GSettings RDPlist
!def is developing!
* **Parameters**
**inGSettings** Global settings dict (singleton)
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathStr, inHostFilePathStr)
Receive file from Session RDP to Host using shared drive in RDP
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inRDPFilePathStr**
* **inHostFilePathStr**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePathStr)
Send file from Host to Session RDP using shared drive in RDP
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inHostFilePathStr**
* **inRDPFilePathStr**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None)
Logoff the RDP session
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inBreakTriggerProcessWOExeList**
* **Returns**
True - logoff is successful
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr)
Stop track the RDP session. Current def dont kill RDP session - only stop to track it (it can give )
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPathBool=True)
Start process if it is not running
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inProcessNameWEXEStr**
* **inFilePathStr**
* **inFlagGetAbsPathBool**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceCloseBool)
Create CMD str to stop process
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inProcessNameWEXEStr**
* **inFlagForceCloseBool**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
RDP Session reconnect
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inRDPTemplateDict**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr)
Check RDP Session responsibility TODO NEED DEV + TEST
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPTemplateCreate(inLoginStr, inPasswordStr, inHostStr='127.0.0.1', inPortInt=3389, inWidthPXInt=1680, inHeightPXInt=1050, inUseBothMonitorBool=False, inDepthBitInt=32, inSharedDriveList=None)
Create some RDP template dict to use it when connect/reconnect
* **Parameters**
* **inLoginStr**
* **inPasswordStr**
* **inHostStr**
* **inPortInt**
* **inWidthPXInt**
* **inHeightPXInt**
* **inUseBothMonitorBool**
* **inDepthBitInt**
* **inSharedDriveList**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.SchedulerActivityTimeAddWeekly(inGSettings, inTimeHHMMStr='23:55:', inWeekdayList=None, inActivityList=None)
Add activity in time weekly
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inTimeHHMMStr**
* **inWeekdayList**
* **inActivityList**
* **Returns**
### pyOpenRPA.Orchestrator.__Orchestrator__.UACKeyListCheck(inRequest, inRoleKeyList)
Check is client is has access for the key list
* **Parameters**
* **inRequest**
* **inRoleKeyList**
* **Returns**
bool
### pyOpenRPA.Orchestrator.__Orchestrator__.UACSuperTokenUpdate(inGSettings, inSuperTokenStr)
Add supertoken for the all access (it is need for the robot communication without human)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inSuperTokenStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.UACUpdate(inGSettings, inADLoginStr, inADStr='', inADIsDefaultBool=True, inURLList=None, inRoleHierarchyAllowedDict=None)
Update user access (UAC)
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inADLoginStr**
* **inADStr**
* **inADIsDefaultBool**
* **inURLList**
* **inRoleHierarchyAllowedDict**
### pyOpenRPA.Orchestrator.__Orchestrator__.WebCPUpdate(inGSettings, inCPKeyStr, inHTMLRenderDef=None, inJSONGeneratorDef=None, inJSInitGeneratorDef=None)
Add control panel HTML, JSON generator or JS when page init
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inCPKeyStr**
* **inHTMLRenderDef**
* **inJSONGeneratorDef**
* **inJSInitGeneratorDef**
### pyOpenRPA.Orchestrator.__Orchestrator__.WebURLConnectDef(inGSettings, inMethodStr, inURLStr, inMatchTypeStr, inDef, inContentTypeStr='application/octet-stream')
> Connect URL to DEF
> “inMethodStr”:”GET|POST”,
> “inURLStr”: “/index”, #URL of the request
> “inMatchTypeStr”: “”, #”BeginWith|Contains|Equal|EqualCase”,
> “inContentTypeStr”: “”, #HTTP Content-type
> “inDef”: None #Function with str result
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inMethodStr**
* **inURLStr**
* **inMatchTypeStr**
* **inDef**
* **inContentTypeStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.WebURLConnectFile(inGSettings, inMethodStr, inURLStr, inMatchTypeStr, inFilePathStr, inContentTypeStr='application/octet-stream')
Connect URL to File
“inMethodStr”:”GET|POST”,
“inURLStr”: “/index”, #URL of the request
“inMatchTypeStr”: “”, #”BeginWith|Contains|Equal|EqualCase”,
“inFolderPathStr”: “”, #Absolute or relative path
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inMethodStr**
* **inURLStr**
* **inMatchTypeStr**
* **inFilePathStr**
* **inContentTypeStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.WebURLConnectFolder(inGSettings, inMethodStr, inURLStr, inMatchTypeStr, inFolderPathStr)
Connect URL to Folder
“inMethodStr”:”GET|POST”,
“inURLStr”: “/Folder/”, #URL of the request
“inMatchTypeStr”: “”, #”BeginWith|Contains|Equal|EqualCase”,
“inFolderPathStr”: “”, #Absolute or relative path
* **Parameters**
* **inGSettings** Global settings dict (singleton)
* **inMethodStr**
* **inURLStr**
* **inMatchTypeStr**
* **inFolderPathStr**
### pyOpenRPA.Orchestrator.__Orchestrator__.WebUserInfoGet(inRequest)
Return User info about request
* **Parameters**
**inRequest**
* **Returns**
{“DomainUpperStr”: “”, “UserNameUpperStr”: “”}
### pyOpenRPA.Orchestrator.__Orchestrator__.WebUserIsSuperToken(inRequest, inGSettings)
Return bool if request is authentificated with supetoken (token which is never expires)
* **Parameters**
* **inRequest**
* **inGSettings** Global settings dict (singleton)
* **Returns**
bool True - is supertoken; False - is not supertoken
### pyOpenRPA.Orchestrator.__Orchestrator__.WebUserUACHierarchyGet(inRequest)
Return User UAC Hierarchy DICT Return {…}
* **Parameters**
**inRequest**
* **Returns**
UAC Dict {}