Update sphinx doc in Orchestrator and in UIDesktop

Orchestrator autodoc 80%
Robot UIDesktop 30%
dev-linux
Ivan Maslov 4 years ago
parent df6978a951
commit 970518ac8d

@ -18,6 +18,47 @@ pyOpenRPA.Orchestrator.__Orchestrator__
Group Agent...
######################
Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.
Group GSettings...
######################
Basic defs to work with singleton gSettings.
Group OS...
######################
Interaction with shell on the Orchestrator user session.
Group Process...
######################
Interaction with some process on the Orchestrator user session.
Group Processor...
######################
Work with Processor queue (see ...).
Group Python...
######################
Work with extra python modules.
Group RDPSession...
######################
Interaction with RDP session, where you can manage some robots.
Group Web...
######################
Manipulate the Orchestrator WEB side.
Group UAC...
######################
Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)
Group Scheduler...
######################
Work with activity scheduling.
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__ .. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
:members: :members:
:autosummary: :autosummary:

@ -1,5 +1,5 @@
************************ ************************
4. How to start 4. How to start process
************************ ************************
Start configuration example Start configuration example

@ -31,16 +31,11 @@ def AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDi
""" """
Add activity in AgentDict. Check if item is created Add activity in AgentDict. Check if item is created
.. code-block:: python
# USAGE
import this
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inHostNameStr: Agent host name :param inHostNameStr: Agent host name
:param inUserStr: User login, where agent is based :param inUserStr: User login, where agent is based
:param inActivityItemDict: ActivityItem :param inActivityItemDict: ActivityItem
:return: sad :return: None
""" """
lAgentDictItemKeyTurple = (inHostNameStr.upper(),inUserStr.upper()) lAgentDictItemKeyTurple = (inHostNameStr.upper(),inUserStr.upper())
if lAgentDictItemKeyTurple not in inGSettings["AgentDict"]: if lAgentDictItemKeyTurple not in inGSettings["AgentDict"]:
@ -51,9 +46,7 @@ def AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDi
def AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True): def AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True):
""" """
Send CMD to OS throught the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inHostNameStr: :param inHostNameStr:
@ -73,9 +66,7 @@ def AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=T
def AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes): def AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes):
""" """
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition) Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inHostNameStr: :param inHostNameStr:
@ -98,9 +89,7 @@ def AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFi
def AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str): def AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str):
""" """
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission) Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inHostNameStr: :param inHostNameStr:
@ -122,9 +111,7 @@ def AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr,
# Send text file to Agent (string) # Send text file to Agent (string)
def AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr = "utf-8"): def AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr = "utf-8"):
""" """
pyOpenRPA.Agent: Create text file by the string Create text file by the string by the pyOpenRPA.Agent daemon process
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = "utf-8",inGSettings = None):
Create Activity Item for the agent
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inHostNameStr: :param inHostNameStr:
@ -1085,7 +1072,7 @@ def RDPTemplateCreate(inLoginStr, inPasswordStr, inHostStr="127.0.0.1", inPortIn
# Return list if dublicates # Return list if dublicates
def RDPSessionDublicatesResolve(inGSettings): def RDPSessionDublicatesResolve(inGSettings):
""" """
DEVELOPING Search dublicates in GSettings RDPlist DEVELOPING Search duplicates in GSettings RDPlist
!def is developing! !def is developing!
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
@ -1097,19 +1084,34 @@ def RDPSessionDublicatesResolve(inGSettings):
def RDPSessionConnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None, inHostStr=None, inPortStr=None, inLoginStr=None, inPasswordStr=None): def 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 Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists
2 way of the use 2 way of the use
Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lRDPItemDict = Orchestrator.RDPTemplateCreate(
inLoginStr = "USER_99",
inPasswordStr = "USER_PASS_HERE", inHostStr="127.0.0.1", inPortInt = 3389, inWidthPXInt = 1680,
inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)
Orchestrator.RDPSessionConnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inRDPTemplateDict = lRDPItemDict)
# Orchestrator will create RDP session by the lRDPItemDict configuration
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPTemplateDict: :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
:param inHostStr: :param inHostStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inPortStr: :param inPortStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inLoginStr: :param inLoginStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inPasswordStr: :param inPasswordStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:return: True every time :return: True every time :)
""" """
# Check thread # Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings): if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1141,11 +1143,25 @@ def RDPSessionConnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None, i
def RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = None): def RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = None):
""" """
Disconnect the RDP session Disconnect the RDP session and stop monitoring it.
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionDisconnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey")
# Orchestrator will disconnect RDP session and will stop to monitoring current RDP
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inBreakTriggerProcessWOExeList: :param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example ["notepad"]
.. note::
Orchestrator look processes on the current machine
:return: True every time :return: True every time
""" """
if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = [] if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = []
@ -1174,11 +1190,26 @@ def RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessW
def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None): def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None):
""" """
RDP Session reconnect Reconnect the RDP session
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lRDPItemDict = Orchestrator.RDPTemplateCreate(
inLoginStr = "USER_99",
inPasswordStr = "USER_PASS_HERE", inHostStr="127.0.0.1", inPortInt = 3389, inWidthPXInt = 1680,
inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)
Orchestrator.RDPSessionReconnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inRDPTemplateDict = inRDPTemplateDict)
# Orchestrator will reconnect RDP session and will continue to monitoring current RDP
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPTemplateDict: :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
:return: :return:
""" """
# Check thread # Check thread
@ -1194,7 +1225,7 @@ def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
inGSettings["ProcessorDict"]["ActivityList"].append(lResult) inGSettings["ProcessorDict"]["ActivityList"].append(lResult)
else: else:
lRDPConfigurationItem = inGSettings["RobotRDPActive"]["RDPList"][inRDPSessionKeyStr] lRDPConfigurationItem = inGSettings["RobotRDPActive"]["RDPList"][inRDPSessionKeyStr]
RDPSessionDisconnect(inRDPSessionKeyStr=inRDPSessionKeyStr) # Disconnect the RDP RDPSessionDisconnect(inGSettings = inGSettings, inRDPSessionKeyStr=inRDPSessionKeyStr) # Disconnect the RDP 2021 02 22 minor fix by Ivan Maslov
# Replace Configuration item if inRDPTemplateDict exists # Replace Configuration item if inRDPTemplateDict exists
if inRDPTemplateDict is not None: lRDPConfigurationItem=inRDPTemplateDict if inRDPTemplateDict is not None: lRDPConfigurationItem=inRDPTemplateDict
# Add item in RDPList # Add item in RDPList
@ -1205,11 +1236,21 @@ def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
def RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr): def RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr):
""" """
Stop track the RDP session. Current def dont kill RDP session - only stop to track it (it can give ) Stop monitoring the RDP session by the Orchestrator process. Current def don't kill RDP session - only stop to track it (it can give )
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionMonitorStop(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey")
# Orchestrator will stop the RDP monitoring
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:return: :return: True every time :>
""" """
lResult = True lResult = True
inGSettings["RobotRDPActive"]["RDPList"].pop(inRDPSessionKeyStr,None) # Remove item from RDPList inGSettings["RobotRDPActive"]["RDPList"].pop(inRDPSessionKeyStr,None) # Remove item from RDPList
@ -1217,11 +1258,22 @@ def RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr):
def RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = None): def RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = None):
""" """
Logoff the RDP session Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionLogoff(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inBreakTriggerProcessWOExeList = ['Notepad'])
# Orchestrator will logoff the RDP session
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inBreakTriggerProcessWOExeList: :param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example ["notepad"]
:return: True - logoff is successful :return: True - logoff is successful
""" """
if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = [] if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = []
@ -1253,10 +1305,10 @@ def RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExe
def RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr): def RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr):
""" """
Check RDP Session responsibility TODO NEED DEV + TEST DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:return: True every time :return: True every time
""" """
# Check thread # Check thread
@ -1296,28 +1348,41 @@ def RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr):
def RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPathBool=True): def RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPathBool=True):
""" """
Start process if it is not running Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionProcessStartIfNotRunning(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inProcessNameWEXEStr = 'Notepad.exe',
inFilePathStr = "path\\to\the\\executable\\file.exe"
inFlagGetAbsPathBool = True)
# Orchestrator will start the process in RDP session
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inProcessNameWEXEStr: :param inProcessNameWEXEStr: Process name with extension (.exe). This arg allow to check the process is running. Example: "Notepad.exe"
:param inFilePathStr: :param inFilePathStr: Path to run process if it is not running.
:param inFlagGetAbsPathBool: :param inFlagGetAbsPathBool: True - get abs path from the relative path in inFilePathStr. False - else case
:return: :return: True every time :)
""" """
# Check thread # Check thread
lResult = True
if not Core.IsProcessorThread(inGSettings=inGSettings): if not Core.IsProcessorThread(inGSettings=inGSettings):
if inGSettings["Logger"]: inGSettings["Logger"].warning(f"RDP def was called not from processor queue - activity will be append in the processor queue.") if inGSettings["Logger"]: inGSettings["Logger"].warning(f"RDP def was called not from processor queue - activity will be append in the processor queue.")
lResult = { lActivityItem = {
"Def": RDPSessionProcessStartIfNotRunning, # def link or def alias (look gSettings["Processor"]["AliasDefDict"]) "Def": RDPSessionProcessStartIfNotRunning, # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
"ArgList": [], # Args list "ArgList": [], # Args list
"ArgDict": {"inRDPSessionKeyStr": inRDPSessionKeyStr, "inProcessNameWEXEStr": inProcessNameWEXEStr, "inFilePathStr": inFilePathStr, "inFlagGetAbsPathBool": inFlagGetAbsPathBool }, # Args dictionary "ArgDict": {"inRDPSessionKeyStr": inRDPSessionKeyStr, "inProcessNameWEXEStr": inProcessNameWEXEStr, "inFilePathStr": inFilePathStr, "inFlagGetAbsPathBool": inFlagGetAbsPathBool }, # Args dictionary
"ArgGSettings": "inGSettings", # Name of GSettings attribute: str (ArgDict) or index (for ArgList) "ArgGSettings": "inGSettings", # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
"ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList) "ArgLogger": None # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
} }
inGSettings["ProcessorDict"]["ActivityList"].append(lResult) inGSettings["ProcessorDict"]["ActivityList"].append(lActivityItem)
else: else:
lResult = True
lCMDStr = CMDStr.ProcessStartIfNotRunning(inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPath= inFlagGetAbsPathBool) lCMDStr = CMDStr.ProcessStartIfNotRunning(inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPath= inFlagGetAbsPathBool)
# Calculate the session Hex # Calculate the session Hex
lSessionHex = inGSettings["RobotRDPActive"]["RDPList"].get(inRDPSessionKeyStr,{}).get("SessionHex", None) lSessionHex = inGSettings["RobotRDPActive"]["RDPList"].get(inRDPSessionKeyStr,{}).get("SessionHex", None)
@ -1329,14 +1394,25 @@ def RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProces
def RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr="CROSSCHECK"): def RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr="CROSSCHECK"):
""" """
Send command in RDP session Send CMD command to the RDP session "RUN" window
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionCMDRun(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inModeStr = 'LISTEN')
# Orchestrator will send CMD to RDP and return the result (see return section)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inCMDStr: :param inCMDStr: Any CMD string
:param inModeStr: Variants: :param inModeStr: Variants:
"LISTEN" - Get result of the cmd command in result; "LISTEN" - Get result of the cmd command in result;
"CROSSCHECK" - Check if the command was successufully sent "CROSSCHECK" - Check if the command was successfully sent
"RUN" - Run without crosscheck and get clipboard "RUN" - Run without crosscheck and get clipboard
:return: # OLD > True - CMD was executed successfully :return: # OLD > True - CMD was executed successfully
{ {
@ -1371,13 +1447,25 @@ def RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr="CROSS
def RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceCloseBool): def RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceCloseBool):
""" """
Create CMD str to stop process Send CMD command to the RDP session "RUN" window.
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionProcessStop(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inProcessNameWEXEStr = 'notepad.exe',
inFlagForceCloseBool = True)
# Orchestrator will send CMD to RDP and return the result (see return section)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inProcessNameWEXEStr: :param inProcessNameWEXEStr: Process name to kill. Example: 'notepad.exe'
:param inFlagForceCloseBool: :param inFlagForceCloseBool: True - force close the process. False - safe close the process
:return: :return: True every time
""" """
# Check thread # Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings): if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1404,13 +1492,25 @@ def RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr,
def RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePathStr): def RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePathStr):
""" """
Send file from Host to Session RDP using shared drive in RDP Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionFileStoredSend(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inHostFilePathStr = "TESTDIR\\Test.py",
inRDPFilePathStr = "C:\\RPA\\TESTDIR\\Test.py")
# Orchestrator will send CMD to RDP and return the result (see return section)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inHostFilePathStr: :param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: "TESTDIR\\Test.py"
:param inRDPFilePathStr: :param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: "C:\\RPA\\TESTDIR\\Test.py"
:return: :return: True every time
""" """
# Check thread # Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings): if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1436,13 +1536,25 @@ def RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr,
def RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathStr, inHostFilePathStr): def RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathStr, inHostFilePathStr):
""" """
Receive file from Session RDP to Host using shared drive in RDP Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
.. code-block:: python
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionFileStoredRecieve(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inHostFilePathStr = "TESTDIR\\Test.py",
inRDPFilePathStr = "C:\\RPA\\TESTDIR\\Test.py")
# Orchestrator will send CMD to RDP and return the result (see return section)
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:param inRDPSessionKeyStr: :param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPFilePathStr: :param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: "C:\\RPA\\TESTDIR\\Test.py"
:param inHostFilePathStr: :param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: "TESTDIR\\Test.py"
:return: :return: True every time
""" """
# Check thread # Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings): if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1471,10 +1583,10 @@ def RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathSt
def GSettingsAutocleaner(inGSettings): def GSettingsAutocleaner(inGSettings):
""" """
Interval gsettings auto cleaner HIDDEN Interval gSettings auto cleaner def to clear some garbage.
:param inGSettings: Global settings dict (singleton) :param inGSettings: Global settings dict (singleton)
:return: :return: None
""" """
while True: while True:
time.sleep(inGSettings["Autocleaner"]["IntervalSecFloat"]) # Wait for the next iteration time.sleep(inGSettings["Autocleaner"]["IntervalSecFloat"]) # Wait for the next iteration

@ -105,7 +105,7 @@
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -97,12 +97,24 @@
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">2. Defs</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">2. Defs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a></li> <li class="toctree-l2"><a class="reference internal" href="#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#defs-agent">Defs Agent…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-gsettings">Defs GSettings…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-os">Defs OS…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-process">Defs Process…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-processor">Defs Processor…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-python">Defs Python…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-rdpsession">Defs RDPSession…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-web">Defs Web…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-uac">Defs UAC…</a></li>
<li class="toctree-l3"><a class="reference internal" href="#defs-scheduler">Defs Scheduler…</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="#references">References</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
@ -183,6 +195,45 @@
<span class="n">__Orchestrator__</span><span class="o">.</span><span class="n">OSCMD</span><span class="p">(</span><span class="n">inCMDStr</span> <span class="o">=</span> <span class="s2">&quot;git status&quot;</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="n">__Orchestrator__</span><span class="o">.</span><span class="n">OSCMD</span><span class="p">(</span><span class="n">inCMDStr</span> <span class="o">=</span> <span class="s2">&quot;git status&quot;</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
<div class="section" id="defs-agent">
<h3>Defs Agent…<a class="headerlink" href="#defs-agent" title="Permalink to this headline"></a></h3>
<p>Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.</p>
</div>
<div class="section" id="defs-gsettings">
<h3>Defs GSettings…<a class="headerlink" href="#defs-gsettings" title="Permalink to this headline"></a></h3>
<p>Basic defs to work with singleton gSettings.</p>
</div>
<div class="section" id="defs-os">
<h3>Defs OS…<a class="headerlink" href="#defs-os" title="Permalink to this headline"></a></h3>
<p>Interaction with shell on the Orchestrator user session.</p>
</div>
<div class="section" id="defs-process">
<h3>Defs Process…<a class="headerlink" href="#defs-process" title="Permalink to this headline"></a></h3>
<p>Interaction with some process on the Orchestrator user session.</p>
</div>
<div class="section" id="defs-processor">
<h3>Defs Processor…<a class="headerlink" href="#defs-processor" title="Permalink to this headline"></a></h3>
<p>Work with Processor queue (see …).</p>
</div>
<div class="section" id="defs-python">
<h3>Defs Python…<a class="headerlink" href="#defs-python" title="Permalink to this headline"></a></h3>
<p>Work with extra python modules.</p>
</div>
<div class="section" id="defs-rdpsession">
<h3>Defs RDPSession…<a class="headerlink" href="#defs-rdpsession" title="Permalink to this headline"></a></h3>
<p>Interaction with RDP session, where you can manage some robots.</p>
</div>
<div class="section" id="defs-web">
<h3>Defs Web…<a class="headerlink" href="#defs-web" title="Permalink to this headline"></a></h3>
<p>Manipulate the Orchestrator WEB side.</p>
</div>
<div class="section" id="defs-uac">
<h3>Defs UAC…<a class="headerlink" href="#defs-uac" title="Permalink to this headline"></a></h3>
<p>Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)</p>
</div>
<div class="section" id="defs-scheduler">
<h3>Defs Scheduler…<a class="headerlink" href="#defs-scheduler" title="Permalink to this headline"></a></h3>
<p>Work with activity scheduling.</p>
<span class="target" id="module-pyOpenRPA.Orchestrator.__Orchestrator__"></span><p><strong>Functions:</strong></p> <span class="target" id="module-pyOpenRPA.Orchestrator.__Orchestrator__"></span><p><strong>Functions:</strong></p>
<table class="longtable docutils align-default"> <table class="longtable docutils align-default">
<colgroup> <colgroup>
@ -194,19 +245,19 @@
<td><p>Add activity in AgentDict.</p></td> <td><p>Add activity in AgentDict.</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSCMD</span></code></a>(inGSettings, inHostNameStr, …)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSCMD</span></code></a>(inGSettings, inHostNameStr, …)</p></td>
<td><p>Send CMD to OS throught the pyOpenRPA.Agent daemon.</p></td> <td><p>Send CMD to OS thought the pyOpenRPA.Agent daemon.</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileBinaryDataBase64StrCreate</span></code></a>(…)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileBinaryDataBase64StrCreate</span></code></a>(…)</p></td>
<td><p>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)</p></td> <td><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileBinaryDataBytesCreate</span></code></a>(…)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileBinaryDataBytesCreate</span></code></a>(…)</p></td>
<td><p>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)</p></td> <td><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileTextDataStrCreate</span></code></a>(inGSettings, …)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AgentOSFileTextDataStrCreate</span></code></a>(inGSettings, …)</p></td>
<td><p>pyOpenRPA.Agent: Create text file by the string def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None): Create Activity Item for the agent</p></td> <td><p>Create text file by the string by the pyOpenRPA.Agent daemon process</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner" title="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner"><code class="xref py py-obj docutils literal notranslate"><span class="pre">GSettingsAutocleaner</span></code></a>(inGSettings)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner" title="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner"><code class="xref py py-obj docutils literal notranslate"><span class="pre">GSettingsAutocleaner</span></code></a>(inGSettings)</p></td>
<td><p>Interval gsettings auto cleaner</p></td> <td><p>HIDDEN Interval gSettings auto cleaner def to clear some garbage.</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend" title="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend"><code class="xref py py-obj docutils literal notranslate"><span class="pre">GSettingsKeyListValueAppend</span></code></a>(inGSettings, inValue)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend" title="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend"><code class="xref py py-obj docutils literal notranslate"><span class="pre">GSettingsKeyListValueAppend</span></code></a>(inGSettings, inValue)</p></td>
<td><p>Append value in GSettings by the key list</p></td> <td><p>Append value in GSettings by the key list</p></td>
@ -260,40 +311,40 @@
<td><p>Import module and run def in the Orchestrator process.</p></td> <td><p>Import module and run def in the Orchestrator process.</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionCMDRun</span></code></a>(inGSettings, …[, inModeStr])</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionCMDRun</span></code></a>(inGSettings, …[, inModeStr])</p></td>
<td><p>Send command in RDP session</p></td> <td><p>Send CMD command to the RDP session “RUN” window</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionConnect</span></code></a>(inGSettings, …[, …])</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionConnect</span></code></a>(inGSettings, …[, …])</p></td>
<td><p>Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if key is exists</p></td> <td><p>Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionDisconnect</span></code></a>(inGSettings, …[, …])</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionDisconnect</span></code></a>(inGSettings, …[, …])</p></td>
<td><p>Disconnect the RDP session</p></td> <td><p>Disconnect the RDP session and stop monitoring it.</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionDublicatesResolve</span></code></a>(inGSettings)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionDublicatesResolve</span></code></a>(inGSettings)</p></td>
<td><p>DEVELOPING Search dublicates in GSettings RDPlist !def is developing!</p></td> <td><p>DEVELOPING Search duplicates in GSettings RDPlist !def is developing!</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionFileStoredRecieve</span></code></a>(inGSettings, …)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionFileStoredRecieve</span></code></a>(inGSettings, …)</p></td>
<td><p>Receive file from Session RDP to Host using shared drive in RDP</p></td> <td><p>Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionFileStoredSend</span></code></a>(inGSettings, …)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionFileStoredSend</span></code></a>(inGSettings, …)</p></td>
<td><p>Send file from Host to Session RDP using shared drive in RDP</p></td> <td><p>Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionLogoff</span></code></a>(inGSettings, inRDPSessionKeyStr)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionLogoff</span></code></a>(inGSettings, inRDPSessionKeyStr)</p></td>
<td><p>Logoff the RDP session</p></td> <td><p>Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionMonitorStop</span></code></a>(inGSettings, …)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionMonitorStop</span></code></a>(inGSettings, …)</p></td>
<td><p>Stop track the RDP session.</p></td> <td><p>Stop monitoring the RDP session by the Orchestrator process.</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionProcessStartIfNotRunning</span></code></a>(…[, …])</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionProcessStartIfNotRunning</span></code></a>(…[, …])</p></td>
<td><p>Start process if it is not running</p></td> <td><p>Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionProcessStop</span></code></a>(inGSettings, …)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionProcessStop</span></code></a>(inGSettings, …)</p></td>
<td><p>Create CMD str to stop process</p></td> <td><p>Send CMD command to the RDP session “RUN” window.</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionReconnect</span></code></a>(inGSettings, …[, …])</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionReconnect</span></code></a>(inGSettings, …[, …])</p></td>
<td><p>RDP Session reconnect</p></td> <td><p>Reconnect the RDP session</p></td>
</tr> </tr>
<tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionResponsibilityCheck</span></code></a>(inGSettings, …)</p></td> <tr class="row-odd"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPSessionResponsibilityCheck</span></code></a>(inGSettings, …)</p></td>
<td><p>Check RDP Session responsibility TODO NEED DEV + TEST</p></td> <td><p>DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST</p></td>
</tr> </tr>
<tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPTemplateCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPTemplateCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPTemplateCreate</span></code></a>(inLoginStr, inPasswordStr)</p></td> <tr class="row-even"><td><p><a class="reference internal" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPTemplateCreate" title="pyOpenRPA.Orchestrator.__Orchestrator__.RDPTemplateCreate"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RDPTemplateCreate</span></code></a>(inLoginStr, inPasswordStr)</p></td>
<td><p>Create RDP connect dict item/ Use it connect/reconnect (Orchestrator.RDPSessionConnect)</p></td> <td><p>Create RDP connect dict item/ Use it connect/reconnect (Orchestrator.RDPSessionConnect)</p></td>
@ -337,10 +388,6 @@
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentActivityItemAdd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inActivityItemDict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentActivityItemAdd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentActivityItemAdd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inActivityItemDict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentActivityItemAdd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd" title="Permalink to this definition"></a></dt>
<dd><p>Add activity in AgentDict. Check if item is created</p> <dd><p>Add activity in AgentDict. Check if item is created</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">import</span> <span class="nn">this</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
@ -351,7 +398,7 @@
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p>sad</p> <dd class="field-even"><p>None</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -359,9 +406,7 @@
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSCMD</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inCMDStr</span></em>, <em class="sig-param"><span class="n">inRunAsyncBool</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSCMD"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSCMD</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inCMDStr</span></em>, <em class="sig-param"><span class="n">inRunAsyncBool</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSCMD"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD" title="Permalink to this definition"></a></dt>
<dd><p>Send CMD to OS throught the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection <dd><p>Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection</p>
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
@ -378,9 +423,7 @@ Send to agent activity item to OSCMD</p>
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileBinaryDataBase64StrCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataBase64Str</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileBinaryDataBase64StrCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileBinaryDataBase64StrCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataBase64Str</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileBinaryDataBase64StrCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate" title="Permalink to this definition"></a></dt>
<dd><p>pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission) <dd><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)</p>
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
@ -397,9 +440,7 @@ Send binary file to Agent (base64 string)</p>
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileBinaryDataBytesCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataBytes</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileBinaryDataBytesCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileBinaryDataBytesCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataBytes</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileBinaryDataBytesCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate" title="Permalink to this definition"></a></dt>
<dd><p>pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition) <dd><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)</p>
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
@ -416,9 +457,7 @@ Send binary file to Agent (Bytes)</p>
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileTextDataStrCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataStr</span></em>, <em class="sig-param"><span class="n">inEncodingStr</span><span class="o">=</span><span class="default_value">'utf-8'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileTextDataStrCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">AgentOSFileTextDataStrCreate</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inHostNameStr</span></em>, <em class="sig-param"><span class="n">inUserStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFileDataStr</span></em>, <em class="sig-param"><span class="n">inEncodingStr</span><span class="o">=</span><span class="default_value">'utf-8'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#AgentOSFileTextDataStrCreate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate" title="Permalink to this definition"></a></dt>
<dd><p>pyOpenRPA.Agent: Create text file by the string <dd><p>Create text file by the string by the pyOpenRPA.Agent daemon process</p>
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None):
Create Activity Item for the agent</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
@ -436,13 +475,13 @@ Create Activity Item for the agent</p>
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">GSettingsAutocleaner</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#GSettingsAutocleaner"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">GSettingsAutocleaner</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#GSettingsAutocleaner"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner" title="Permalink to this definition"></a></dt>
<dd><p>Interval gsettings auto cleaner</p> <dd><p>HIDDEN Interval gSettings auto cleaner def to clear some garbage.</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>inGSettings</strong> Global settings dict (singleton)</p> <dd class="field-odd"><p><strong>inGSettings</strong> Global settings dict (singleton)</p>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>None</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -946,16 +985,26 @@ Create Activity Item for the agent</p>
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionCMDRun</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inCMDStr</span></em>, <em class="sig-param"><span class="n">inModeStr</span><span class="o">=</span><span class="default_value">'CROSSCHECK'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionCMDRun"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionCMDRun</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inCMDStr</span></em>, <em class="sig-param"><span class="n">inModeStr</span><span class="o">=</span><span class="default_value">'CROSSCHECK'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionCMDRun"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun" title="Permalink to this definition"></a></dt>
<dd><p>Send command in RDP session</p> <dd><p>Send CMD command to the RDP session “RUN” window</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lResultDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionCMDRun</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inModeStr</span> <span class="o">=</span> <span class="s1">&#39;LISTEN&#39;</span><span class="p">)</span>
<span class="c1"># Orchestrator will send CMD to RDP and return the result (see return section)</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inCMDStr</strong> </p></li> <li><p><strong>inCMDStr</strong> Any CMD string</p></li>
<li><p><strong>inModeStr</strong> Variants: <li><p><strong>inModeStr</strong> Variants:
“LISTEN” - Get result of the cmd command in result; “LISTEN” - Get result of the cmd command in result;
“CROSSCHECK” - Check if the command was successufully sent “CROSSCHECK” - Check if the command was successfully sent
“RUN” - Run without crosscheck and get clipboard</p></li> “RUN” - Run without crosscheck and get clipboard</p></li>
</ul> </ul>
</dd> </dd>
@ -978,25 +1027,39 @@ Create Activity Item for the agent</p>
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionConnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inHostStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inPortStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inLoginStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inPasswordStr</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionConnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionConnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inHostStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inPortStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inLoginStr</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">inPasswordStr</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionConnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect" title="Permalink to this definition"></a></dt>
<dd><dl class="simple"> <dd><dl class="simple">
<dt>Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if key is exists</dt><dd><p>2 way of the use</p> <dt>Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists</dt><dd><p>2 way of the use</p>
</dd> </dd>
</dl> </dl>
<p>Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict <p>Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr</p> Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lRDPItemDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPTemplateCreate</span><span class="p">(</span>
<span class="n">inLoginStr</span> <span class="o">=</span> <span class="s2">&quot;USER_99&quot;</span><span class="p">,</span>
<span class="n">inPasswordStr</span> <span class="o">=</span> <span class="s2">&quot;USER_PASS_HERE&quot;</span><span class="p">,</span> <span class="n">inHostStr</span><span class="o">=</span><span class="s2">&quot;127.0.0.1&quot;</span><span class="p">,</span> <span class="n">inPortInt</span> <span class="o">=</span> <span class="mi">3389</span><span class="p">,</span> <span class="n">inWidthPXInt</span> <span class="o">=</span> <span class="mi">1680</span><span class="p">,</span>
<span class="n">inHeightPXInt</span> <span class="o">=</span> <span class="mi">1050</span><span class="p">,</span> <span class="n">inUseBothMonitorBool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> <span class="n">inDepthBitInt</span> <span class="o">=</span> <span class="mi">32</span><span class="p">,</span> <span class="n">inSharedDriveList</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionConnect</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inRDPTemplateDict</span> <span class="o">=</span> <span class="n">lRDPItemDict</span><span class="p">)</span>
<span class="c1"># Orchestrator will create RDP session by the lRDPItemDict configuration</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inRDPTemplateDict</strong> </p></li> <li><p><strong>inRDPTemplateDict</strong> RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</p></li>
<li><p><strong>inHostStr</strong> </p></li> <li><p><strong>inHostStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inPortStr</strong> </p></li> <li><p><strong>inPortStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inLoginStr</strong> </p></li> <li><p><strong>inLoginStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inPasswordStr</strong> </p></li> <li><p><strong>inPasswordStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p>True every time</p> <dd class="field-even"><p>True every time :)</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1004,13 +1067,24 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionDisconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inBreakTriggerProcessWOExeList</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionDisconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionDisconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inBreakTriggerProcessWOExeList</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionDisconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect" title="Permalink to this definition"></a></dt>
<dd><p>Disconnect the RDP session</p> <dd><p>Disconnect the RDP session and stop monitoring it.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionDisconnect</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">)</span>
<span class="c1"># Orchestrator will disconnect RDP session and will stop to monitoring current RDP</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inBreakTriggerProcessWOExeList</strong> </p></li> <li><p><strong>inBreakTriggerProcessWOExeList</strong> <p>List of the processes, which will stop the execution. Example [“notepad”]</p>
<p>Orchestrator look processes on the current machine</p>
</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
@ -1022,7 +1096,7 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionDublicatesResolve</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionDublicatesResolve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionDublicatesResolve</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionDublicatesResolve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve" title="Permalink to this definition"></a></dt>
<dd><p>DEVELOPING Search dublicates in GSettings RDPlist <dd><p>DEVELOPING Search duplicates in GSettings RDPlist
!def is developing!</p> !def is developing!</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
@ -1037,18 +1111,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionFileStoredRecieve</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPFilePathStr</span></em>, <em class="sig-param"><span class="n">inHostFilePathStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionFileStoredRecieve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionFileStoredRecieve</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPFilePathStr</span></em>, <em class="sig-param"><span class="n">inHostFilePathStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionFileStoredRecieve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve" title="Permalink to this definition"></a></dt>
<dd><p>Receive file from Session RDP to Host using shared drive in RDP</p> <dd><p>Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lResultDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionFileStoredRecieve</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inHostFilePathStr</span> <span class="o">=</span> <span class="s2">&quot;TESTDIR\Test.py&quot;</span><span class="p">,</span>
<span class="n">inRDPFilePathStr</span> <span class="o">=</span> <span class="s2">&quot;C:\RPA\TESTDIR\Test.py&quot;</span><span class="p">)</span>
<span class="c1"># Orchestrator will send CMD to RDP and return the result (see return section)</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inRDPFilePathStr</strong> </p></li> <li><p><strong>inRDPFilePathStr</strong> !Absolute! path to the destination file location on the RDP side. Example: “C:RPATESTDIRTest.py”</p></li>
<li><p><strong>inHostFilePathStr</strong> </p></li> <li><p><strong>inHostFilePathStr</strong> Relative or absolute path to the file location on the Orchestrator side. Example: “TESTDIRTest.py”</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>True every time</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1056,18 +1141,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionFileStoredSend</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inHostFilePathStr</span></em>, <em class="sig-param"><span class="n">inRDPFilePathStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionFileStoredSend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionFileStoredSend</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inHostFilePathStr</span></em>, <em class="sig-param"><span class="n">inRDPFilePathStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionFileStoredSend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend" title="Permalink to this definition"></a></dt>
<dd><p>Send file from Host to Session RDP using shared drive in RDP</p> <dd><p>Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lResultDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionFileStoredSend</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inHostFilePathStr</span> <span class="o">=</span> <span class="s2">&quot;TESTDIR\Test.py&quot;</span><span class="p">,</span>
<span class="n">inRDPFilePathStr</span> <span class="o">=</span> <span class="s2">&quot;C:\RPA\TESTDIR\Test.py&quot;</span><span class="p">)</span>
<span class="c1"># Orchestrator will send CMD to RDP and return the result (see return section)</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inHostFilePathStr</strong> </p></li> <li><p><strong>inHostFilePathStr</strong> Relative or absolute path to the file location on the Orchestrator side. Example: “TESTDIRTest.py”</p></li>
<li><p><strong>inRDPFilePathStr</strong> </p></li> <li><p><strong>inRDPFilePathStr</strong> !Absolute! path to the destination file location on the RDP side. Example: “C:RPATESTDIRTest.py”</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>True every time</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1075,13 +1171,23 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionLogoff</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inBreakTriggerProcessWOExeList</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionLogoff"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionLogoff</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inBreakTriggerProcessWOExeList</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionLogoff"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff" title="Permalink to this definition"></a></dt>
<dd><p>Logoff the RDP session</p> <dd><p>Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionLogoff</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Notepad&#39;</span><span class="p">])</span>
<span class="c1"># Orchestrator will logoff the RDP session</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inBreakTriggerProcessWOExeList</strong> </p></li> <li><p><strong>inBreakTriggerProcessWOExeList</strong> List of the processes, which will stop the execution. Example [“notepad”]</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
@ -1093,16 +1199,25 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionMonitorStop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionMonitorStop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionMonitorStop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionMonitorStop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop" title="Permalink to this definition"></a></dt>
<dd><p>Stop track the RDP session. Current def dont kill RDP session - only stop to track it (it can give )</p> <dd><p>Stop monitoring the RDP session by the Orchestrator process. Current def dont kill RDP session - only stop to track it (it can give )</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionMonitorStop</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">)</span>
<span class="c1"># Orchestrator will stop the RDP monitoring</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>True every time :&gt;</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1110,19 +1225,31 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionProcessStartIfNotRunning</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inProcessNameWEXEStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFlagGetAbsPathBool</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionProcessStartIfNotRunning"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionProcessStartIfNotRunning</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inProcessNameWEXEStr</span></em>, <em class="sig-param"><span class="n">inFilePathStr</span></em>, <em class="sig-param"><span class="n">inFlagGetAbsPathBool</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionProcessStartIfNotRunning"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning" title="Permalink to this definition"></a></dt>
<dd><p>Start process if it is not running</p> <dd><p>Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionProcessStartIfNotRunning</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inProcessNameWEXEStr</span> <span class="o">=</span> <span class="s1">&#39;Notepad.exe&#39;</span><span class="p">,</span>
<span class="n">inFilePathStr</span> <span class="o">=</span> <span class="s2">&quot;path</span><span class="se">\t</span><span class="s2">o he\executable</span><span class="se">\f</span><span class="s2">ile.exe&quot;</span>
<span class="n">inFlagGetAbsPathBool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span>
<span class="c1"># Orchestrator will start the process in RDP session</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inProcessNameWEXEStr</strong> </p></li> <li><p><strong>inProcessNameWEXEStr</strong> Process name with extension (.exe). This arg allow to check the process is running. Example: “Notepad.exe”</p></li>
<li><p><strong>inFilePathStr</strong> </p></li> <li><p><strong>inFilePathStr</strong> Path to run process if it is not running.</p></li>
<li><p><strong>inFlagGetAbsPathBool</strong> </p></li> <li><p><strong>inFlagGetAbsPathBool</strong> True - get abs path from the relative path in inFilePathStr. False - else case</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>True every time :)</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1130,18 +1257,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionProcessStop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inProcessNameWEXEStr</span></em>, <em class="sig-param"><span class="n">inFlagForceCloseBool</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionProcessStop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionProcessStop</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inProcessNameWEXEStr</span></em>, <em class="sig-param"><span class="n">inFlagForceCloseBool</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionProcessStop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop" title="Permalink to this definition"></a></dt>
<dd><p>Create CMD str to stop process</p> <dd><p>Send CMD command to the RDP session “RUN” window.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lResultDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionProcessStop</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inProcessNameWEXEStr</span> <span class="o">=</span> <span class="s1">&#39;notepad.exe&#39;</span><span class="p">,</span>
<span class="n">inFlagForceCloseBool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span>
<span class="c1"># Orchestrator will send CMD to RDP and return the result (see return section)</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inProcessNameWEXEStr</strong> </p></li> <li><p><strong>inProcessNameWEXEStr</strong> Process name to kill. Example: notepad.exe</p></li>
<li><p><strong>inFlagForceCloseBool</strong> </p></li> <li><p><strong>inFlagForceCloseBool</strong> True - force close the process. False - safe close the process</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
<dd class="field-even"><p></p> <dd class="field-even"><p>True every time</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1149,13 +1287,27 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionReconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionReconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionReconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em>, <em class="sig-param"><span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionReconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect" title="Permalink to this definition"></a></dt>
<dd><p>RDP Session reconnect</p> <dd><p>Reconnect the RDP session</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># USAGE</span>
<span class="kn">from</span> <span class="nn">pyOpenRPA</span> <span class="kn">import</span> <span class="n">Orchestrator</span>
<span class="n">lRDPItemDict</span> <span class="o">=</span> <span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPTemplateCreate</span><span class="p">(</span>
<span class="n">inLoginStr</span> <span class="o">=</span> <span class="s2">&quot;USER_99&quot;</span><span class="p">,</span>
<span class="n">inPasswordStr</span> <span class="o">=</span> <span class="s2">&quot;USER_PASS_HERE&quot;</span><span class="p">,</span> <span class="n">inHostStr</span><span class="o">=</span><span class="s2">&quot;127.0.0.1&quot;</span><span class="p">,</span> <span class="n">inPortInt</span> <span class="o">=</span> <span class="mi">3389</span><span class="p">,</span> <span class="n">inWidthPXInt</span> <span class="o">=</span> <span class="mi">1680</span><span class="p">,</span>
<span class="n">inHeightPXInt</span> <span class="o">=</span> <span class="mi">1050</span><span class="p">,</span> <span class="n">inUseBothMonitorBool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> <span class="n">inDepthBitInt</span> <span class="o">=</span> <span class="mi">32</span><span class="p">,</span> <span class="n">inSharedDriveList</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
<span class="n">Orchestrator</span><span class="o">.</span><span class="n">RDPSessionReconnect</span><span class="p">(</span>
<span class="n">inGSettings</span> <span class="o">=</span> <span class="n">gSettings</span><span class="p">,</span>
<span class="n">inRDPSessionKeyStr</span> <span class="o">=</span> <span class="s2">&quot;RDPKey&quot;</span><span class="p">,</span>
<span class="n">inRDPTemplateDict</span> <span class="o">=</span> <span class="n">inRDPTemplateDict</span><span class="p">)</span>
<span class="c1"># Orchestrator will reconnect RDP session and will continue to monitoring current RDP</span>
</pre></div>
</div>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inRDPTemplateDict</strong> </p></li> <li><p><strong>inRDPTemplateDict</strong> RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
@ -1167,12 +1319,12 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function"> <dl class="py function">
<dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck"> <dt id="pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck">
<code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionResponsibilityCheck</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionResponsibilityCheck"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">pyOpenRPA.Orchestrator.__Orchestrator__.</code><code class="sig-name descname">RDPSessionResponsibilityCheck</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">inGSettings</span></em>, <em class="sig-param"><span class="n">inRDPSessionKeyStr</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html#RDPSessionResponsibilityCheck"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck" title="Permalink to this definition"></a></dt>
<dd><p>Check RDP Session responsibility TODO NEED DEV + TEST</p> <dd><p>DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST</p>
<dl class="field-list simple"> <dl class="field-list simple">
<dt class="field-odd">Parameters</dt> <dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple"> <dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li> <li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li> <li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
</ul> </ul>
</dd> </dd>
<dt class="field-even">Returns</dt> <dt class="field-even">Returns</dt>
@ -1477,6 +1629,7 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
</dl> </dl>
</dd></dl> </dd></dl>
</div>
</div> </div>
<div class="section" id="references"> <div class="section" id="references">
<h2>References<a class="headerlink" href="#references" title="Permalink to this headline"></a></h2> <h2>References<a class="headerlink" href="#references" title="Permalink to this headline"></a></h2>

@ -38,7 +38,7 @@
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" /> <link rel="search" title="Search" href="../search.html" />
<link rel="next" title="4. How to start" href="04_HowToStart.html" /> <link rel="next" title="4. How to start process" href="04_HowToStart.html" />
<link rel="prev" title="2. Defs" href="02_Defs.html" /> <link rel="prev" title="2. Defs" href="02_Defs.html" />
</head> </head>
@ -98,7 +98,7 @@
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. gSettings Template</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
@ -543,7 +543,7 @@
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="04_HowToStart.html" class="btn btn-neutral float-right" title="4. How to start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="04_HowToStart.html" class="btn btn-neutral float-right" title="4. How to start process" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="02_Defs.html" class="btn btn-neutral float-left" title="2. Defs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="02_Defs.html" class="btn btn-neutral float-left" title="2. Defs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>4. How to start &mdash; pyOpenRPA v1.2.0 documentation</title> <title>4. How to start process &mdash; pyOpenRPA v1.2.0 documentation</title>
@ -97,7 +97,7 @@
<li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">4. How to start</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">4. How to start process</a></li>
</ul> </ul>
@ -146,7 +146,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>4. How to start</li> <li>4. How to start process</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
@ -165,8 +165,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="section" id="how-to-start"> <div class="section" id="how-to-start-process">
<h1>4. How to start<a class="headerlink" href="#how-to-start" title="Permalink to this headline"></a></h1> <h1>4. How to start process<a class="headerlink" href="#how-to-start-process" title="Permalink to this headline"></a></h1>
<p>Start configuration example</p> <p>Start configuration example</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">psutil</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">sys</span> <span class="c1"># stdout from logging</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">psutil</span><span class="o">,</span> <span class="nn">datetime</span><span class="o">,</span> <span class="nn">logging</span><span class="o">,</span> <span class="nn">os</span><span class="o">,</span> <span class="nn">sys</span> <span class="c1"># stdout from logging</span>

@ -101,7 +101,7 @@
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -102,7 +102,7 @@
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -98,7 +98,7 @@
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -96,7 +96,7 @@
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -96,7 +96,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
@ -196,16 +196,11 @@
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Add activity in AgentDict. Check if item is created</span> <span class="sd"> Add activity in AgentDict. Check if item is created</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> import this</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr: Agent host name</span> <span class="sd"> :param inHostNameStr: Agent host name</span>
<span class="sd"> :param inUserStr: User login, where agent is based</span> <span class="sd"> :param inUserStr: User login, where agent is based</span>
<span class="sd"> :param inActivityItemDict: ActivityItem</span> <span class="sd"> :param inActivityItemDict: ActivityItem</span>
<span class="sd"> :return: sad</span> <span class="sd"> :return: None</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">lAgentDictItemKeyTurple</span> <span class="o">=</span> <span class="p">(</span><span class="n">inHostNameStr</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span><span class="n">inUserStr</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span> <span class="n">lAgentDictItemKeyTurple</span> <span class="o">=</span> <span class="p">(</span><span class="n">inHostNameStr</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span><span class="n">inUserStr</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span>
<span class="k">if</span> <span class="n">lAgentDictItemKeyTurple</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;AgentDict&quot;</span><span class="p">]:</span> <span class="k">if</span> <span class="n">lAgentDictItemKeyTurple</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;AgentDict&quot;</span><span class="p">]:</span>
@ -216,9 +211,7 @@
<div class="viewcode-block" id="AgentOSCMD"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD">[docs]</a><span class="k">def</span> <span class="nf">AgentOSCMD</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inCMDStr</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> <div class="viewcode-block" id="AgentOSCMD"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD">[docs]</a><span class="k">def</span> <span class="nf">AgentOSCMD</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inCMDStr</span><span class="p">,</span> <span class="n">inRunAsyncBool</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Send CMD to OS throught the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection</span> <span class="sd"> Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection</span>
<span class="sd"> def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):</span>
<span class="sd"> Send to agent activity item to OSCMD</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span> <span class="sd"> :param inHostNameStr:</span>
@ -238,9 +231,7 @@
<div class="viewcode-block" id="AgentOSFileBinaryDataBytesCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileBinaryDataBytesCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataBytes</span><span class="p">):</span> <div class="viewcode-block" id="AgentOSFileBinaryDataBytesCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileBinaryDataBytesCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataBytes</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition)</span> <span class="sd"> Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)</span>
<span class="sd"> def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):</span>
<span class="sd"> Send binary file to Agent (Bytes)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span> <span class="sd"> :param inHostNameStr:</span>
@ -263,9 +254,7 @@
<div class="viewcode-block" id="AgentOSFileBinaryDataBase64StrCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileBinaryDataBase64StrCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataBase64Str</span><span class="p">):</span> <div class="viewcode-block" id="AgentOSFileBinaryDataBase64StrCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileBinaryDataBase64StrCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataBase64Str</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission)</span> <span class="sd"> Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)</span>
<span class="sd"> def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):</span>
<span class="sd"> Send binary file to Agent (base64 string)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span> <span class="sd"> :param inHostNameStr:</span>
@ -287,9 +276,7 @@
<span class="c1"># Send text file to Agent (string)</span> <span class="c1"># Send text file to Agent (string)</span>
<div class="viewcode-block" id="AgentOSFileTextDataStrCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileTextDataStrCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataStr</span><span class="p">,</span> <span class="n">inEncodingStr</span> <span class="o">=</span> <span class="s2">&quot;utf-8&quot;</span><span class="p">):</span> <div class="viewcode-block" id="AgentOSFileTextDataStrCreate"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate">[docs]</a><span class="k">def</span> <span class="nf">AgentOSFileTextDataStrCreate</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inHostNameStr</span><span class="p">,</span> <span class="n">inUserStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFileDataStr</span><span class="p">,</span> <span class="n">inEncodingStr</span> <span class="o">=</span> <span class="s2">&quot;utf-8&quot;</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> pyOpenRPA.Agent: Create text file by the string</span> <span class="sd"> Create text file by the string by the pyOpenRPA.Agent daemon process</span>
<span class="sd"> def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = &quot;utf-8&quot;,inGSettings = None):</span>
<span class="sd"> Create Activity Item for the agent</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span> <span class="sd"> :param inHostNameStr:</span>
@ -1250,7 +1237,7 @@
<span class="c1"># Return list if dublicates</span> <span class="c1"># Return list if dublicates</span>
<div class="viewcode-block" id="RDPSessionDublicatesResolve"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionDublicatesResolve</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionDublicatesResolve"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionDublicatesResolve</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> DEVELOPING Search dublicates in GSettings RDPlist</span> <span class="sd"> DEVELOPING Search duplicates in GSettings RDPlist</span>
<span class="sd"> !def is developing!</span> <span class="sd"> !def is developing!</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
@ -1262,19 +1249,34 @@
<div class="viewcode-block" id="RDPSessionConnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionConnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inHostStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inPortStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inLoginStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inPasswordStr</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionConnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionConnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inHostStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inPortStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inLoginStr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inPasswordStr</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if key is exists</span> <span class="sd"> Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists</span>
<span class="sd"> 2 way of the use</span> <span class="sd"> 2 way of the use</span>
<span class="sd"> Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict</span> <span class="sd"> Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict</span>
<span class="sd"> Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr</span> <span class="sd"> Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lRDPItemDict = Orchestrator.RDPTemplateCreate(</span>
<span class="sd"> inLoginStr = &quot;USER_99&quot;,</span>
<span class="sd"> inPasswordStr = &quot;USER_PASS_HERE&quot;, inHostStr=&quot;127.0.0.1&quot;, inPortInt = 3389, inWidthPXInt = 1680,</span>
<span class="sd"> inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)</span>
<span class="sd"> Orchestrator.RDPSessionConnect(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inRDPTemplateDict = lRDPItemDict)</span>
<span class="sd"> # Orchestrator will create RDP session by the lRDPItemDict configuration</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inRDPTemplateDict:</span> <span class="sd"> :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</span>
<span class="sd"> :param inHostStr:</span> <span class="sd"> :param inHostStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :param inPortStr:</span> <span class="sd"> :param inPortStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :param inLoginStr:</span> <span class="sd"> :param inLoginStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :param inPasswordStr:</span> <span class="sd"> :param inPasswordStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :return: True every time</span> <span class="sd"> :return: True every time :)</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span>
@ -1306,11 +1308,25 @@
<div class="viewcode-block" id="RDPSessionDisconnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionDisconnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionDisconnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionDisconnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Disconnect the RDP session</span> <span class="sd"> Disconnect the RDP session and stop monitoring it.</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> Orchestrator.RDPSessionDisconnect(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;)</span>
<span class="sd"> # Orchestrator will disconnect RDP session and will stop to monitoring current RDP</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inBreakTriggerProcessWOExeList:</span> <span class="sd"> :param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example [&quot;notepad&quot;]</span>
<span class="sd"> .. note::</span>
<span class="sd"> Orchestrator look processes on the current machine</span>
<span class="sd"> :return: True every time</span> <span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="p">[]</span>
@ -1339,11 +1355,26 @@
<div class="viewcode-block" id="RDPSessionReconnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionReconnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionReconnect"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionReconnect</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPTemplateDict</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> RDP Session reconnect</span> <span class="sd"> Reconnect the RDP session</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lRDPItemDict = Orchestrator.RDPTemplateCreate(</span>
<span class="sd"> inLoginStr = &quot;USER_99&quot;,</span>
<span class="sd"> inPasswordStr = &quot;USER_PASS_HERE&quot;, inHostStr=&quot;127.0.0.1&quot;, inPortInt = 3389, inWidthPXInt = 1680,</span>
<span class="sd"> inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)</span>
<span class="sd"> Orchestrator.RDPSessionReconnect(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inRDPTemplateDict = inRDPTemplateDict)</span>
<span class="sd"> # Orchestrator will reconnect RDP session and will continue to monitoring current RDP</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inRDPTemplateDict:</span> <span class="sd"> :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</span>
<span class="sd"> :return:</span> <span class="sd"> :return:</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
@ -1359,7 +1390,7 @@
<span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;ProcessorDict&quot;</span><span class="p">][</span><span class="s2">&quot;ActivityList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lResult</span><span class="p">)</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;ProcessorDict&quot;</span><span class="p">][</span><span class="s2">&quot;ActivityList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lResult</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">lRDPConfigurationItem</span> <span class="o">=</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">][</span><span class="n">inRDPSessionKeyStr</span><span class="p">]</span> <span class="n">lRDPConfigurationItem</span> <span class="o">=</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">][</span><span class="n">inRDPSessionKeyStr</span><span class="p">]</span>
<span class="n">RDPSessionDisconnect</span><span class="p">(</span><span class="n">inRDPSessionKeyStr</span><span class="o">=</span><span class="n">inRDPSessionKeyStr</span><span class="p">)</span> <span class="c1"># Disconnect the RDP</span> <span class="n">RDPSessionDisconnect</span><span class="p">(</span><span class="n">inGSettings</span> <span class="o">=</span> <span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="o">=</span><span class="n">inRDPSessionKeyStr</span><span class="p">)</span> <span class="c1"># Disconnect the RDP 2021 02 22 minor fix by Ivan Maslov</span>
<span class="c1"># Replace Configuration item if inRDPTemplateDict exists</span> <span class="c1"># Replace Configuration item if inRDPTemplateDict exists</span>
<span class="k">if</span> <span class="n">inRDPTemplateDict</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> <span class="n">lRDPConfigurationItem</span><span class="o">=</span><span class="n">inRDPTemplateDict</span> <span class="k">if</span> <span class="n">inRDPTemplateDict</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> <span class="n">lRDPConfigurationItem</span><span class="o">=</span><span class="n">inRDPTemplateDict</span>
<span class="c1"># Add item in RDPList</span> <span class="c1"># Add item in RDPList</span>
@ -1370,11 +1401,21 @@
<div class="viewcode-block" id="RDPSessionMonitorStop"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionMonitorStop</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionMonitorStop"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionMonitorStop</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Stop track the RDP session. Current def dont kill RDP session - only stop to track it (it can give )</span> <span class="sd"> Stop monitoring the RDP session by the Orchestrator process. Current def don&#39;t kill RDP session - only stop to track it (it can give )</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> Orchestrator.RDPSessionMonitorStop(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;)</span>
<span class="sd"> # Orchestrator will stop the RDP monitoring</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :return:</span> <span class="sd"> :return: True every time :&gt;</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="n">lResult</span> <span class="o">=</span> <span class="kc">True</span> <span class="n">lResult</span> <span class="o">=</span> <span class="kc">True</span>
<span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">inRDPSessionKeyStr</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span> <span class="c1"># Remove item from RDPList</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="n">inRDPSessionKeyStr</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span> <span class="c1"># Remove item from RDPList</span>
@ -1382,11 +1423,22 @@
<div class="viewcode-block" id="RDPSessionLogoff"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionLogoff</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionLogoff"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionLogoff</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Logoff the RDP session</span> <span class="sd"> Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> Orchestrator.RDPSessionLogoff(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inBreakTriggerProcessWOExeList = [&#39;Notepad&#39;])</span>
<span class="sd"> # Orchestrator will logoff the RDP session</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inBreakTriggerProcessWOExeList:</span> <span class="sd"> :param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example [&quot;notepad&quot;]</span>
<span class="sd"> :return: True - logoff is successful</span> <span class="sd"> :return: True - logoff is successful</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="p">[]</span> <span class="k">if</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> <span class="n">inBreakTriggerProcessWOExeList</span> <span class="o">=</span> <span class="p">[]</span>
@ -1418,10 +1470,10 @@
<div class="viewcode-block" id="RDPSessionResponsibilityCheck"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionResponsibilityCheck</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionResponsibilityCheck"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionResponsibilityCheck</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Check RDP Session responsibility TODO NEED DEV + TEST</span> <span class="sd"> DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :return: True every time</span> <span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
@ -1461,28 +1513,41 @@
<div class="viewcode-block" id="RDPSessionProcessStartIfNotRunning"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionProcessStartIfNotRunning</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFlagGetAbsPathBool</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionProcessStartIfNotRunning"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionProcessStartIfNotRunning</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFlagGetAbsPathBool</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Start process if it is not running</span> <span class="sd"> Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> Orchestrator.RDPSessionProcessStartIfNotRunning(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inProcessNameWEXEStr = &#39;Notepad.exe&#39;,</span>
<span class="sd"> inFilePathStr = &quot;path\\to\the\\executable\\file.exe&quot;</span>
<span class="sd"> inFlagGetAbsPathBool = True)</span>
<span class="sd"> # Orchestrator will start the process in RDP session</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inProcessNameWEXEStr:</span> <span class="sd"> :param inProcessNameWEXEStr: Process name with extension (.exe). This arg allow to check the process is running. Example: &quot;Notepad.exe&quot;</span>
<span class="sd"> :param inFilePathStr:</span> <span class="sd"> :param inFilePathStr: Path to run process if it is not running.</span>
<span class="sd"> :param inFlagGetAbsPathBool:</span> <span class="sd"> :param inFlagGetAbsPathBool: True - get abs path from the relative path in inFilePathStr. False - else case</span>
<span class="sd"> :return:</span> <span class="sd"> :return: True every time :)</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
<span class="n">lResult</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span>
<span class="k">if</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Logger&quot;</span><span class="p">]:</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Logger&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;RDP def was called not from processor queue - activity will be append in the processor queue.&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Logger&quot;</span><span class="p">]:</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Logger&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;RDP def was called not from processor queue - activity will be append in the processor queue.&quot;</span><span class="p">)</span>
<span class="n">lResult</span> <span class="o">=</span> <span class="p">{</span> <span class="n">lActivityItem</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;Def&quot;</span><span class="p">:</span> <span class="n">RDPSessionProcessStartIfNotRunning</span><span class="p">,</span> <span class="c1"># def link or def alias (look gSettings[&quot;Processor&quot;][&quot;AliasDefDict&quot;])</span> <span class="s2">&quot;Def&quot;</span><span class="p">:</span> <span class="n">RDPSessionProcessStartIfNotRunning</span><span class="p">,</span> <span class="c1"># def link or def alias (look gSettings[&quot;Processor&quot;][&quot;AliasDefDict&quot;])</span>
<span class="s2">&quot;ArgList&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="c1"># Args list</span> <span class="s2">&quot;ArgList&quot;</span><span class="p">:</span> <span class="p">[],</span> <span class="c1"># Args list</span>
<span class="s2">&quot;ArgDict&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;inRDPSessionKeyStr&quot;</span><span class="p">:</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="s2">&quot;inProcessNameWEXEStr&quot;</span><span class="p">:</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="s2">&quot;inFilePathStr&quot;</span><span class="p">:</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="s2">&quot;inFlagGetAbsPathBool&quot;</span><span class="p">:</span> <span class="n">inFlagGetAbsPathBool</span> <span class="p">},</span> <span class="c1"># Args dictionary</span> <span class="s2">&quot;ArgDict&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;inRDPSessionKeyStr&quot;</span><span class="p">:</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="s2">&quot;inProcessNameWEXEStr&quot;</span><span class="p">:</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="s2">&quot;inFilePathStr&quot;</span><span class="p">:</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="s2">&quot;inFlagGetAbsPathBool&quot;</span><span class="p">:</span> <span class="n">inFlagGetAbsPathBool</span> <span class="p">},</span> <span class="c1"># Args dictionary</span>
<span class="s2">&quot;ArgGSettings&quot;</span><span class="p">:</span> <span class="s2">&quot;inGSettings&quot;</span><span class="p">,</span> <span class="c1"># Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span> <span class="s2">&quot;ArgGSettings&quot;</span><span class="p">:</span> <span class="s2">&quot;inGSettings&quot;</span><span class="p">,</span> <span class="c1"># Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span>
<span class="s2">&quot;ArgLogger&quot;</span><span class="p">:</span> <span class="kc">None</span> <span class="c1"># Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span> <span class="s2">&quot;ArgLogger&quot;</span><span class="p">:</span> <span class="kc">None</span> <span class="c1"># Name of GSettings attribute: str (ArgDict) or index (for ArgList)</span>
<span class="p">}</span> <span class="p">}</span>
<span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;ProcessorDict&quot;</span><span class="p">][</span><span class="s2">&quot;ActivityList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lResult</span><span class="p">)</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;ProcessorDict&quot;</span><span class="p">][</span><span class="s2">&quot;ActivityList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lActivityItem</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">lResult</span> <span class="o">=</span> <span class="kc">True</span>
<span class="n">lCMDStr</span> <span class="o">=</span> <span class="n">CMDStr</span><span class="o">.</span><span class="n">ProcessStartIfNotRunning</span><span class="p">(</span><span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFlagGetAbsPath</span><span class="o">=</span> <span class="n">inFlagGetAbsPathBool</span><span class="p">)</span> <span class="n">lCMDStr</span> <span class="o">=</span> <span class="n">CMDStr</span><span class="o">.</span><span class="n">ProcessStartIfNotRunning</span><span class="p">(</span><span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFilePathStr</span><span class="p">,</span> <span class="n">inFlagGetAbsPath</span><span class="o">=</span> <span class="n">inFlagGetAbsPathBool</span><span class="p">)</span>
<span class="c1"># Calculate the session Hex</span> <span class="c1"># Calculate the session Hex</span>
<span class="n">lSessionHex</span> <span class="o">=</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">inRDPSessionKeyStr</span><span class="p">,{})</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;SessionHex&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="n">lSessionHex</span> <span class="o">=</span> <span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;RobotRDPActive&quot;</span><span class="p">][</span><span class="s2">&quot;RDPList&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">inRDPSessionKeyStr</span><span class="p">,{})</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;SessionHex&quot;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
@ -1494,14 +1559,25 @@
<div class="viewcode-block" id="RDPSessionCMDRun"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionCMDRun</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inCMDStr</span><span class="p">,</span> <span class="n">inModeStr</span><span class="o">=</span><span class="s2">&quot;CROSSCHECK&quot;</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionCMDRun"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionCMDRun</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inCMDStr</span><span class="p">,</span> <span class="n">inModeStr</span><span class="o">=</span><span class="s2">&quot;CROSSCHECK&quot;</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Send command in RDP session</span> <span class="sd"> Send CMD command to the RDP session &quot;RUN&quot; window</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lResultDict = Orchestrator.RDPSessionCMDRun(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inModeStr = &#39;LISTEN&#39;)</span>
<span class="sd"> # Orchestrator will send CMD to RDP and return the result (see return section)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inCMDStr:</span> <span class="sd"> :param inCMDStr: Any CMD string</span>
<span class="sd"> :param inModeStr: Variants:</span> <span class="sd"> :param inModeStr: Variants:</span>
<span class="sd"> &quot;LISTEN&quot; - Get result of the cmd command in result;</span> <span class="sd"> &quot;LISTEN&quot; - Get result of the cmd command in result;</span>
<span class="sd"> &quot;CROSSCHECK&quot; - Check if the command was successufully sent</span> <span class="sd"> &quot;CROSSCHECK&quot; - Check if the command was successfully sent</span>
<span class="sd"> &quot;RUN&quot; - Run without crosscheck and get clipboard</span> <span class="sd"> &quot;RUN&quot; - Run without crosscheck and get clipboard</span>
<span class="sd"> :return: # OLD &gt; True - CMD was executed successfully</span> <span class="sd"> :return: # OLD &gt; True - CMD was executed successfully</span>
<span class="sd"> {</span> <span class="sd"> {</span>
@ -1536,13 +1612,25 @@
<div class="viewcode-block" id="RDPSessionProcessStop"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionProcessStop</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFlagForceCloseBool</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionProcessStop"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionProcessStop</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inProcessNameWEXEStr</span><span class="p">,</span> <span class="n">inFlagForceCloseBool</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Create CMD str to stop process</span> <span class="sd"> Send CMD command to the RDP session &quot;RUN&quot; window.</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lResultDict = Orchestrator.RDPSessionProcessStop(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inProcessNameWEXEStr = &#39;notepad.exe&#39;,</span>
<span class="sd"> inFlagForceCloseBool = True)</span>
<span class="sd"> # Orchestrator will send CMD to RDP and return the result (see return section)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inProcessNameWEXEStr:</span> <span class="sd"> :param inProcessNameWEXEStr: Process name to kill. Example: &#39;notepad.exe&#39;</span>
<span class="sd"> :param inFlagForceCloseBool:</span> <span class="sd"> :param inFlagForceCloseBool: True - force close the process. False - safe close the process</span>
<span class="sd"> :return:</span> <span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span>
@ -1569,13 +1657,25 @@
<div class="viewcode-block" id="RDPSessionFileStoredSend"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionFileStoredSend</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inHostFilePathStr</span><span class="p">,</span> <span class="n">inRDPFilePathStr</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionFileStoredSend"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionFileStoredSend</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inHostFilePathStr</span><span class="p">,</span> <span class="n">inRDPFilePathStr</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Send file from Host to Session RDP using shared drive in RDP</span> <span class="sd"> Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lResultDict = Orchestrator.RDPSessionFileStoredSend(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inHostFilePathStr = &quot;TESTDIR\\Test.py&quot;,</span>
<span class="sd"> inRDPFilePathStr = &quot;C:\\RPA\\TESTDIR\\Test.py&quot;)</span>
<span class="sd"> # Orchestrator will send CMD to RDP and return the result (see return section)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inHostFilePathStr:</span> <span class="sd"> :param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: &quot;TESTDIR\\Test.py&quot;</span>
<span class="sd"> :param inRDPFilePathStr:</span> <span class="sd"> :param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: &quot;C:\\RPA\\TESTDIR\\Test.py&quot;</span>
<span class="sd"> :return:</span> <span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span>
@ -1601,13 +1701,25 @@
<div class="viewcode-block" id="RDPSessionFileStoredRecieve"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionFileStoredRecieve</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPFilePathStr</span><span class="p">,</span> <span class="n">inHostFilePathStr</span><span class="p">):</span> <div class="viewcode-block" id="RDPSessionFileStoredRecieve"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve">[docs]</a><span class="k">def</span> <span class="nf">RDPSessionFileStoredRecieve</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">,</span> <span class="n">inRDPSessionKeyStr</span><span class="p">,</span> <span class="n">inRDPFilePathStr</span><span class="p">,</span> <span class="n">inHostFilePathStr</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Receive file from Session RDP to Host using shared drive in RDP</span> <span class="sd"> Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)</span>
<span class="sd"> .. code-block:: python</span>
<span class="sd"> # USAGE</span>
<span class="sd"> from pyOpenRPA import Orchestrator</span>
<span class="sd"> lResultDict = Orchestrator.RDPSessionFileStoredRecieve(</span>
<span class="sd"> inGSettings = gSettings,</span>
<span class="sd"> inRDPSessionKeyStr = &quot;RDPKey&quot;,</span>
<span class="sd"> inHostFilePathStr = &quot;TESTDIR\\Test.py&quot;,</span>
<span class="sd"> inRDPFilePathStr = &quot;C:\\RPA\\TESTDIR\\Test.py&quot;)</span>
<span class="sd"> # Orchestrator will send CMD to RDP and return the result (see return section)</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inRDPSessionKeyStr:</span> <span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inRDPFilePathStr:</span> <span class="sd"> :param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: &quot;C:\\RPA\\TESTDIR\\Test.py&quot;</span>
<span class="sd"> :param inHostFilePathStr:</span> <span class="sd"> :param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: &quot;TESTDIR\\Test.py&quot;</span>
<span class="sd"> :return:</span> <span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Check thread</span> <span class="c1"># Check thread</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">Core</span><span class="o">.</span><span class="n">IsProcessorThread</span><span class="p">(</span><span class="n">inGSettings</span><span class="o">=</span><span class="n">inGSettings</span><span class="p">):</span>
@ -1636,10 +1748,10 @@
<div class="viewcode-block" id="GSettingsAutocleaner"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner">[docs]</a><span class="k">def</span> <span class="nf">GSettingsAutocleaner</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">):</span> <div class="viewcode-block" id="GSettingsAutocleaner"><a class="viewcode-back" href="../../../Orchestrator/02_Defs.html#pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner">[docs]</a><span class="k">def</span> <span class="nf">GSettingsAutocleaner</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Interval gsettings auto cleaner</span> <span class="sd"> HIDDEN Interval gSettings auto cleaner def to clear some garbage.</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span> <span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :return:</span> <span class="sd"> :return: None</span>
<span class="sd"> &quot;&quot;&quot;</span> <span class="sd"> &quot;&quot;&quot;</span>
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span> <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Autocleaner&quot;</span><span class="p">][</span><span class="s2">&quot;IntervalSecFloat&quot;</span><span class="p">])</span> <span class="c1"># Wait for the next iteration</span> <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">inGSettings</span><span class="p">[</span><span class="s2">&quot;Autocleaner&quot;</span><span class="p">][</span><span class="s2">&quot;IntervalSecFloat&quot;</span><span class="p">])</span> <span class="c1"># Wait for the next iteration</span>

@ -96,7 +96,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -18,6 +18,47 @@ pyOpenRPA.Orchestrator.__Orchestrator__
Defs Agent...
######################
Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.
Defs GSettings...
######################
Basic defs to work with singleton gSettings.
Defs OS...
######################
Interaction with shell on the Orchestrator user session.
Defs Process...
######################
Interaction with some process on the Orchestrator user session.
Defs Processor...
######################
Work with Processor queue (see ...).
Defs Python...
######################
Work with extra python modules.
Defs RDPSession...
######################
Interaction with RDP session, where you can manage some robots.
Defs Web...
######################
Manipulate the Orchestrator WEB side.
Defs UAC...
######################
Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)
Defs Scheduler...
######################
Work with activity scheduling.
.. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__ .. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__
:members: :members:
:autosummary: :autosummary:

@ -1,5 +1,5 @@
************************ ************************
4. How to start 4. How to start process
************************ ************************
Start configuration example Start configuration example

@ -96,7 +96,7 @@
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -97,7 +97,7 @@
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
@ -201,12 +201,24 @@
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a><ul> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a></li> <li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#pyopenrpa-orchestrator-orchestrator">pyOpenRPA.Orchestrator.__Orchestrator__</a><ul>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-agent">Defs Agent…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-gsettings">Defs GSettings…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-os">Defs OS…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-process">Defs Process…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-processor">Defs Processor…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-python">Defs Python…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-rdpsession">Defs RDPSession…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-web">Defs Web…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-uac">Defs UAC…</a></li>
<li class="toctree-l3"><a class="reference internal" href="Orchestrator/02_Defs.html#defs-scheduler">Defs Scheduler…</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#references">References</a></li> <li class="toctree-l2"><a class="reference internal" href="Orchestrator/02_Defs.html#references">References</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>
</div> </div>
</div> </div>

Binary file not shown.

@ -99,7 +99,7 @@
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

@ -99,7 +99,7 @@
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/01_Orchestrator.html">1. Description</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/02_Defs.html">2. Defs</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/03_gSettingsTemplate.html">3. gSettings Template</a></li>
<li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start</a></li> <li class="toctree-l1"><a class="reference internal" href="Orchestrator/04_HowToStart.html">4. How to start process</a></li>
</ul> </ul>

File diff suppressed because one or more lines are too long

@ -12,6 +12,46 @@ from pyOpenRPA.Orchestrator import __Orchestrator__
__Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True) __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
``` ```
### Defs Agent…
Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session.
### Defs GSettings…
Basic defs to work with singleton gSettings.
### Defs OS…
Interaction with shell on the Orchestrator user session.
### Defs Process…
Interaction with some process on the Orchestrator user session.
### Defs Processor…
Work with Processor queue (see …).
### Defs Python…
Work with extra python modules.
### Defs RDPSession…
Interaction with RDP session, where you can manage some robots.
### Defs Web…
Manipulate the Orchestrator WEB side.
### Defs UAC…
Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users)
### Defs Scheduler…
Work with activity scheduling.
**Functions:** **Functions:**
| `AgentActivityItemAdd`(inGSettings, …) | `AgentActivityItemAdd`(inGSettings, …)
@ -21,99 +61,99 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
| |
| `AgentOSCMD`(inGSettings, inHostNameStr, …) | `AgentOSCMD`(inGSettings, inHostNameStr, …)
| Send CMD to OS throught the pyOpenRPA.Agent daemon. | Send CMD to OS thought the pyOpenRPA.Agent daemon.
| |
| `AgentOSFileBinaryDataBase64StrCreate`(…) | `AgentOSFileBinaryDataBase64StrCreate`(…)
| 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) | Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)
| |
| `AgentOSFileBinaryDataBytesCreate`(…) | `AgentOSFileBinaryDataBytesCreate`(…)
| 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) | Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)
| |
| `AgentOSFileTextDataStrCreate`(inGSettings, …) | `AgentOSFileTextDataStrCreate`(inGSettings, …)
| pyOpenRPA.Agent: Create text file by the string def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None): Create Activity Item for the agent | Create text file by the string by the pyOpenRPA.Agent daemon process
| |
| `GSettingsAutocleaner`(inGSettings) | `GSettingsAutocleaner`(inGSettings)
| Interval gsettings auto cleaner | HIDDEN Interval gSettings auto cleaner def to clear some garbage.
| |
| `GSettingsKeyListValueAppend`(inGSettings, inValue) | `GSettingsKeyListValueAppend`(inGSettings, inValue)
| Append value in GSettings by the key list | Append value in GSettings by the key list
| |
| `GSettingsKeyListValueGet`(inGSettings[, …]) | `GSettingsKeyListValueGet`(inGSettings[, …])
| Get the value from the GSettings by the key list | Get the value from the GSettings by the key list
| |
| `GSettingsKeyListValueOperatorPlus`(…[, …]) | `GSettingsKeyListValueOperatorPlus`(…[, …])
| Execute plus operation between 2 lists (1:inValue and 2:gSettings by the inKeyList) | Execute plus operation between 2 lists (1:inValue and 2:gSettings by the inKeyList)
| |
| `GSettingsKeyListValueSet`(inGSettings, inValue) | `GSettingsKeyListValueSet`(inGSettings, inValue)
| Set value in GSettings by the key list | Set value in GSettings by the key list
| |
| `OSCMD`(inCMDStr[, inRunAsyncBool, inLogger]) | `OSCMD`(inCMDStr[, inRunAsyncBool, inLogger])
| OS send command in shell locally | OS send command in shell locally
| |
| `OSCredentialsVerify`(inUserStr, inPasswordStr) | `OSCredentialsVerify`(inUserStr, inPasswordStr)
| Verify user credentials in windows. | Verify user credentials in windows.
| |
| `OrchestratorRestart`([inGSettings]) | `OrchestratorRestart`([inGSettings])
| Orchestrator restart | Orchestrator restart
| |
| `OrchestratorSessionSave`([inGSettings]) | `OrchestratorSessionSave`([inGSettings])
| Orchestrator session save in file _SessionLast_RDPList.json (encoding = “utf-8”) | Orchestrator session save in file _SessionLast_RDPList.json (encoding = “utf-8”)
| |
| `ProcessIsStarted`(inProcessNameWOExeStr) | `ProcessIsStarted`(inProcessNameWOExeStr)
| Check if there is any running process that contains the given name processName. | Check if there is any running process that contains the given name processName.
| |
| `ProcessListGet`([inProcessNameWOExeList]) | `ProcessListGet`([inProcessNameWOExeList])
| Return process list on the orchestrator machine sorted by Memory Usage. | Return process list on the orchestrator machine sorted by Memory Usage.
| |
| `ProcessStart`(inPathStr, inArgList[, …]) | `ProcessStart`(inPathStr, inArgList[, …])
| Start process locally. | Start process locally.
| |
| `ProcessStop`(inProcessNameWOExeStr, …[, …]) | `ProcessStop`(inProcessNameWOExeStr, …[, …])
| Stop process on the orchestrator machine. | Stop process on the orchestrator machine.
| |
| `ProcessorActivityItemAppend`(inGSettings[, …]) | `ProcessorActivityItemAppend`(inGSettings[, …])
| Create and add activity item in processor queue. | Create and add activity item in processor queue.
| |
| `ProcessorActivityItemCreate`(inDef[, …]) | `ProcessorActivityItemCreate`(inDef[, …])
| Create activity item. | Create activity item.
| |
| `ProcessorAliasDefCreate`(inGSettings, inDef) | `ProcessorAliasDefCreate`(inGSettings, inDef)
| Create alias for def (can be used in ActivityItem in field Def) !WHEN DEF ALIAS IS REQUIRED! - Def alias is required when you try to call Python def from the Orchestrator WEB side (because you cant transmit Python def object out of the Python environment) | Create alias for def (can be used in ActivityItem in field Def) !WHEN DEF ALIAS IS REQUIRED! - Def alias is required when you try to call Python def from the Orchestrator WEB side (because you cant transmit Python def object out of the Python environment)
@ -131,64 +171,64 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
| |
| `RDPSessionCMDRun`(inGSettings, …[, inModeStr]) | `RDPSessionCMDRun`(inGSettings, …[, inModeStr])
| Send command in RDP session | Send CMD command to the RDP session “RUN” window
| |
| `RDPSessionConnect`(inGSettings, …[, …]) | `RDPSessionConnect`(inGSettings, …[, …])
| Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if key is exists | Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists
| |
| `RDPSessionDisconnect`(inGSettings, …[, …]) | `RDPSessionDisconnect`(inGSettings, …[, …])
| Disconnect the RDP session | Disconnect the RDP session and stop monitoring it.
| |
| `RDPSessionDublicatesResolve`(inGSettings) | `RDPSessionDublicatesResolve`(inGSettings)
| DEVELOPING Search dublicates in GSettings RDPlist !def is developing! | DEVELOPING Search duplicates in GSettings RDPlist !def is developing!
| |
| `RDPSessionFileStoredRecieve`(inGSettings, …) | `RDPSessionFileStoredRecieve`(inGSettings, …)
| Receive file from Session RDP to Host using shared drive in RDP | Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
| |
| `RDPSessionFileStoredSend`(inGSettings, …) | `RDPSessionFileStoredSend`(inGSettings, …)
| Send file from Host to Session RDP using shared drive in RDP | Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
| |
| `RDPSessionLogoff`(inGSettings, inRDPSessionKeyStr) | `RDPSessionLogoff`(inGSettings, inRDPSessionKeyStr)
| Logoff the RDP session | Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)
| |
| `RDPSessionMonitorStop`(inGSettings, …) | `RDPSessionMonitorStop`(inGSettings, …)
| Stop track the RDP session. | Stop monitoring the RDP session by the Orchestrator process.
| |
| `RDPSessionProcessStartIfNotRunning`(…[, …]) | `RDPSessionProcessStartIfNotRunning`(…[, …])
| Start process if it is not running | Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)
| |
| `RDPSessionProcessStop`(inGSettings, …) | `RDPSessionProcessStop`(inGSettings, …)
| Create CMD str to stop process | Send CMD command to the RDP session “RUN” window.
| |
| `RDPSessionReconnect`(inGSettings, …[, …]) | `RDPSessionReconnect`(inGSettings, …[, …])
| RDP Session reconnect | Reconnect the RDP session
| |
| `RDPSessionResponsibilityCheck`(inGSettings, …) | `RDPSessionResponsibilityCheck`(inGSettings, …)
| Check RDP Session responsibility TODO NEED DEV + TEST | DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST
| |
| `RDPTemplateCreate`(inLoginStr, inPasswordStr) | `RDPTemplateCreate`(inLoginStr, inPasswordStr)
| Create RDP connect dict item/ Use it connect/reconnect (Orchestrator.RDPSessionConnect) | Create RDP connect dict item/ Use it connect/reconnect (Orchestrator.RDPSessionConnect)
@ -253,11 +293,6 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDict) ### pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDict)
Add activity in AgentDict. Check if item is created Add activity in AgentDict. Check if item is created
```
# USAGE
import this
```
* **Parameters** * **Parameters**
@ -277,14 +312,12 @@ import this
* **Returns** * **Returns**
sad None
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True) ### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True)
Send CMD to OS throught the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD
* **Parameters** * **Parameters**
@ -307,9 +340,7 @@ Send to agent activity item to OSCMD
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str) ### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission) Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)
* **Parameters** * **Parameters**
@ -332,9 +363,7 @@ Send binary file to Agent (base64 string)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes) ### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition) Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)
* **Parameters** * **Parameters**
@ -357,9 +386,7 @@ Send binary file to Agent (Bytes)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr='utf-8') ### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr='utf-8')
pyOpenRPA.Agent: Create text file by the string Create text file by the string by the pyOpenRPA.Agent daemon process
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None):
Create Activity Item for the agent
* **Parameters** * **Parameters**
@ -385,7 +412,7 @@ Create Activity Item for the agent
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner(inGSettings) ### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner(inGSettings)
Interval gsettings auto cleaner HIDDEN Interval gSettings auto cleaner def to clear some garbage.
* **Parameters** * **Parameters**
@ -396,7 +423,8 @@ Interval gsettings auto cleaner
* **Returns** * **Returns**
None
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend(inGSettings, inValue, inKeyList=None) ### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsKeyListValueAppend(inGSettings, inValue, inKeyList=None)
@ -986,7 +1014,18 @@ Orchestrator.PythonStart(
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr='CROSSCHECK') ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr='CROSSCHECK')
Send command in RDP session Send CMD command to the RDP session “RUN” window
```
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionCMDRun(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inModeStr = 'LISTEN')
# Orchestrator will send CMD to RDP and return the result (see return section)
```
* **Parameters** * **Parameters**
@ -995,15 +1034,15 @@ Send command in RDP session
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inCMDStr** * **inCMDStr** Any CMD string
* **inModeStr** Variants: * **inModeStr** Variants:
“LISTEN” - Get result of the cmd command in result; “LISTEN” - Get result of the cmd command in result;
“CROSSCHECK” - Check if the command was successufully sent “CROSSCHECK” - Check if the command was successfully sent
“RUN” - Run without crosscheck and get clipboard “RUN” - Run without crosscheck and get clipboard
@ -1023,12 +1062,27 @@ Send command in RDP session
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionConnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None, inHostStr=None, inPortStr=None, inLoginStr=None, inPasswordStr=None) ### 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 Create new RDPSession in RobotRDPActive. Attention - activity will be ignored if RDP key is already exists
2 way of the use 2 way of the use
Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inPortStr, inLoginStr, inPasswordStr
```
# USAGE
from pyOpenRPA import Orchestrator
lRDPItemDict = Orchestrator.RDPTemplateCreate(
inLoginStr = "USER_99",
inPasswordStr = "USER_PASS_HERE", inHostStr="127.0.0.1", inPortInt = 3389, inWidthPXInt = 1680,
inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)
Orchestrator.RDPSessionConnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inRDPTemplateDict = lRDPItemDict)
# Orchestrator will create RDP session by the lRDPItemDict configuration
```
* **Parameters** * **Parameters**
@ -1037,33 +1091,43 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inRDPTemplateDict** * **inRDPTemplateDict** RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
* **inHostStr** * **inHostStr** Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
* **inPortStr** * **inPortStr** Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
* **inLoginStr** * **inLoginStr** Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
* **inPasswordStr** * **inPasswordStr** Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
* **Returns** * **Returns**
True every time True every time :)
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None)
Disconnect the RDP session Disconnect the RDP session and stop monitoring it.
```
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionDisconnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey")
# Orchestrator will disconnect RDP session and will stop to monitoring current RDP
```
* **Parameters** * **Parameters**
@ -1072,10 +1136,13 @@ Disconnect the RDP session
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inBreakTriggerProcessWOExeList** * **inBreakTriggerProcessWOExeList** List of the processes, which will stop the execution. Example [“notepad”]
Orchestrator look processes on the current machine
@ -1086,7 +1153,7 @@ Disconnect the RDP session
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve(inGSettings) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionDublicatesResolve(inGSettings)
DEVELOPING Search dublicates in GSettings RDPlist DEVELOPING Search duplicates in GSettings RDPlist
!def is developing! !def is developing!
@ -1102,7 +1169,19 @@ DEVELOPING Search dublicates in GSettings RDPlist
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathStr, inHostFilePathStr) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathStr, inHostFilePathStr)
Receive file from Session RDP to Host using shared drive in RDP Recieve file from RDP session to the Orchestrator session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
```
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionFileStoredRecieve(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inHostFilePathStr = "TESTDIR\Test.py",
inRDPFilePathStr = "C:\RPA\TESTDIR\Test.py")
# Orchestrator will send CMD to RDP and return the result (see return section)
```
* **Parameters** * **Parameters**
@ -1111,23 +1190,36 @@ Receive file from Session RDP to Host using shared drive in RDP
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inRDPFilePathStr** * **inRDPFilePathStr** !Absolute! path to the destination file location on the RDP side. Example: “C:RPATESTDIRTest.py”
* **inHostFilePathStr** * **inHostFilePathStr** Relative or absolute path to the file location on the Orchestrator side. Example: “TESTDIRTest.py”
* **Returns** * **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePathStr) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePathStr)
Send file from Host to Session RDP using shared drive in RDP Send file from Orchestrator session to the RDP session using shared drive in RDP (see RDP Configuration Dict, Shared drive)
```
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionFileStoredSend(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inHostFilePathStr = "TESTDIR\Test.py",
inRDPFilePathStr = "C:\RPA\TESTDIR\Test.py")
# Orchestrator will send CMD to RDP and return the result (see return section)
```
* **Parameters** * **Parameters**
@ -1136,23 +1228,35 @@ Send file from Host to Session RDP using shared drive in RDP
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inHostFilePathStr** * **inHostFilePathStr** Relative or absolute path to the file location on the Orchestrator side. Example: “TESTDIRTest.py”
* **inRDPFilePathStr** * **inRDPFilePathStr** !Absolute! path to the destination file location on the RDP side. Example: “C:RPATESTDIRTest.py”
* **Returns** * **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExeList=None)
Logoff the RDP session Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)
```
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionLogoff(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inBreakTriggerProcessWOExeList = ['Notepad'])
# Orchestrator will logoff the RDP session
```
* **Parameters** * **Parameters**
@ -1161,10 +1265,10 @@ Logoff the RDP session
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inBreakTriggerProcessWOExeList** * **inBreakTriggerProcessWOExeList** List of the processes, which will stop the execution. Example [“notepad”]
@ -1175,7 +1279,17 @@ Logoff the RDP session
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr) ### 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 ) Stop monitoring the RDP session by the Orchestrator process. Current def dont kill RDP session - only stop to track it (it can give )
```
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionMonitorStop(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey")
# Orchestrator will stop the RDP monitoring
```
* **Parameters** * **Parameters**
@ -1184,17 +1298,31 @@ Stop track the RDP session. Current def dont kill RDP session - only stop to tra
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **Returns** * **Returns**
True every time :>
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPathBool=True) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStartIfNotRunning(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPathBool=True)
Start process if it is not running Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)
```
# USAGE
from pyOpenRPA import Orchestrator
Orchestrator.RDPSessionProcessStartIfNotRunning(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inProcessNameWEXEStr = 'Notepad.exe',
inFilePathStr = "path\to he\executable\file.exe"
inFlagGetAbsPathBool = True)
# Orchestrator will start the process in RDP session
```
* **Parameters** * **Parameters**
@ -1203,26 +1331,39 @@ Start process if it is not running
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inProcessNameWEXEStr** * **inProcessNameWEXEStr** Process name with extension (.exe). This arg allow to check the process is running. Example: “Notepad.exe”
* **inFilePathStr** * **inFilePathStr** Path to run process if it is not running.
* **inFlagGetAbsPathBool** * **inFlagGetAbsPathBool** True - get abs path from the relative path in inFilePathStr. False - else case
* **Returns** * **Returns**
True every time :)
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceCloseBool) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceCloseBool)
Create CMD str to stop process Send CMD command to the RDP session “RUN” window.
```
# USAGE
from pyOpenRPA import Orchestrator
lResultDict = Orchestrator.RDPSessionProcessStop(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inProcessNameWEXEStr = 'notepad.exe',
inFlagForceCloseBool = True)
# Orchestrator will send CMD to RDP and return the result (see return section)
```
* **Parameters** * **Parameters**
@ -1231,23 +1372,39 @@ Create CMD str to stop process
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inProcessNameWEXEStr** * **inProcessNameWEXEStr** Process name to kill. Example: notepad.exe
* **inFlagForceCloseBool** * **inFlagForceCloseBool** True - force close the process. False - safe close the process
* **Returns** * **Returns**
True every time
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
RDP Session reconnect Reconnect the RDP session
```
# USAGE
from pyOpenRPA import Orchestrator
lRDPItemDict = Orchestrator.RDPTemplateCreate(
inLoginStr = "USER_99",
inPasswordStr = "USER_PASS_HERE", inHostStr="127.0.0.1", inPortInt = 3389, inWidthPXInt = 1680,
inHeightPXInt = 1050, inUseBothMonitorBool = False, inDepthBitInt = 32, inSharedDriveList=None)
Orchestrator.RDPSessionReconnect(
inGSettings = gSettings,
inRDPSessionKeyStr = "RDPKey",
inRDPTemplateDict = inRDPTemplateDict)
# Orchestrator will reconnect RDP session and will continue to monitoring current RDP
```
* **Parameters** * **Parameters**
@ -1256,10 +1413,10 @@ RDP Session reconnect
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inRDPTemplateDict** * **inRDPTemplateDict** RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
@ -1269,7 +1426,7 @@ RDP Session reconnect
### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr) ### pyOpenRPA.Orchestrator.__Orchestrator__.RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr)
Check RDP Session responsibility TODO NEED DEV + TEST DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST
* **Parameters** * **Parameters**
@ -1278,7 +1435,7 @@ Check RDP Session responsibility TODO NEED DEV + TEST
* **inGSettings** Global settings dict (singleton) * **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr** * **inRDPSessionKeyStr** RDP Session string key - need for the further identification

@ -1,4 +1,4 @@
# 4. How to start # 4. How to start process
Start configuration example Start configuration example

@ -49,10 +49,40 @@ contain the root `toctree` directive. -->
* pyOpenRPA.Orchestrator.__Orchestrator__ * pyOpenRPA.Orchestrator.__Orchestrator__
* Defs Agent…
* Defs GSettings…
* Defs OS…
* Defs Process…
* Defs Processor…
* Defs Python…
* Defs RDPSession…
* Defs Web…
* Defs UAC…
* Defs Scheduler…
* References * References
* 3. gSettings Template * 3. gSettings Template
* 4. How to start * 4. How to start process

Loading…
Cancel
Save