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__
:members:
:autosummary:

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

@ -31,16 +31,11 @@ def AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDi
"""
Add activity in AgentDict. Check if item is created
.. code-block:: python
# USAGE
import this
:param inGSettings: Global settings dict (singleton)
:param inHostNameStr: Agent host name
:param inUserStr: User login, where agent is based
:param inActivityItemDict: ActivityItem
:return: sad
:return: None
"""
lAgentDictItemKeyTurple = (inHostNameStr.upper(),inUserStr.upper())
if lAgentDictItemKeyTurple not in inGSettings["AgentDict"]:
@ -51,9 +46,7 @@ def AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDi
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
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD
Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection
:param inGSettings: Global settings dict (singleton)
:param inHostNameStr:
@ -73,9 +66,7 @@ def AgentOSCMD(inGSettings, inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=T
def AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes):
"""
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)
Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)
:param inGSettings: Global settings dict (singleton)
:param inHostNameStr:
@ -98,9 +89,7 @@ def AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFi
def AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str):
"""
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)
Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)
:param inGSettings: Global settings dict (singleton)
:param inHostNameStr:
@ -122,9 +111,7 @@ def AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr,
# Send text file to Agent (string)
def AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr = "utf-8"):
"""
pyOpenRPA.Agent: Create text file by the string
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = "utf-8",inGSettings = None):
Create Activity Item for the agent
Create text file by the string by the pyOpenRPA.Agent daemon process
:param inGSettings: Global settings dict (singleton)
:param inHostNameStr:
@ -1085,7 +1072,7 @@ def RDPTemplateCreate(inLoginStr, inPasswordStr, inHostStr="127.0.0.1", inPortIn
# Return list if dublicates
def RDPSessionDublicatesResolve(inGSettings):
"""
DEVELOPING Search dublicates in GSettings RDPlist
DEVELOPING Search duplicates in GSettings RDPlist
!def is developing!
: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):
"""
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
Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
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 inRDPSessionKeyStr:
:param inRDPTemplateDict:
:param inHostStr:
:param inPortStr:
:param inLoginStr:
:param inPasswordStr:
:return: True every time
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
:param inHostStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inPortStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inLoginStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:param inPasswordStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict
:return: True every time :)
"""
# Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1141,11 +1143,25 @@ def RDPSessionConnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None, i
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 inRDPSessionKeyStr:
:param inBreakTriggerProcessWOExeList:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
: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
"""
if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = []
@ -1174,11 +1190,26 @@ def RDPSessionDisconnect(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessW
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 inRDPSessionKeyStr:
:param inRDPTemplateDict:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)
:return:
"""
# Check thread
@ -1194,7 +1225,7 @@ def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
inGSettings["ProcessorDict"]["ActivityList"].append(lResult)
else:
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
if inRDPTemplateDict is not None: lRDPConfigurationItem=inRDPTemplateDict
# Add item in RDPList
@ -1205,11 +1236,21 @@ def RDPSessionReconnect(inGSettings, inRDPSessionKeyStr, inRDPTemplateDict=None)
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 inRDPSessionKeyStr:
:return:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:return: True every time :>
"""
lResult = True
inGSettings["RobotRDPActive"]["RDPList"].pop(inRDPSessionKeyStr,None) # Remove item from RDPList
@ -1217,11 +1258,22 @@ def RDPSessionMonitorStop(inGSettings, inRDPSessionKeyStr):
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 inRDPSessionKeyStr:
:param inBreakTriggerProcessWOExeList:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example ["notepad"]
:return: True - logoff is successful
"""
if inBreakTriggerProcessWOExeList is None: inBreakTriggerProcessWOExeList = []
@ -1253,10 +1305,10 @@ def RDPSessionLogoff(inGSettings, inRDPSessionKeyStr, inBreakTriggerProcessWOExe
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 inRDPSessionKeyStr:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:return: True every time
"""
# Check thread
@ -1296,28 +1348,41 @@ def RDPSessionResponsibilityCheck(inGSettings, inRDPSessionKeyStr):
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 inRDPSessionKeyStr:
:param inProcessNameWEXEStr:
:param inFilePathStr:
:param inFlagGetAbsPathBool:
:return:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inProcessNameWEXEStr: Process name with extension (.exe). This arg allow to check the process is running. Example: "Notepad.exe"
:param inFilePathStr: Path to run process if it is not running.
:param inFlagGetAbsPathBool: True - get abs path from the relative path in inFilePathStr. False - else case
:return: True every time :)
"""
# Check thread
lResult = True
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.")
lResult = {
lActivityItem = {
"Def": RDPSessionProcessStartIfNotRunning, # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
"ArgList": [], # Args list
"ArgDict": {"inRDPSessionKeyStr": inRDPSessionKeyStr, "inProcessNameWEXEStr": inProcessNameWEXEStr, "inFilePathStr": inFilePathStr, "inFlagGetAbsPathBool": inFlagGetAbsPathBool }, # Args dictionary
"ArgGSettings": "inGSettings", # 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:
lResult = True
lCMDStr = CMDStr.ProcessStartIfNotRunning(inProcessNameWEXEStr, inFilePathStr, inFlagGetAbsPath= inFlagGetAbsPathBool)
# Calculate the session Hex
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"):
"""
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 inRDPSessionKeyStr:
:param inCMDStr:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inCMDStr: Any CMD string
:param inModeStr: Variants:
"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
:return: # OLD > True - CMD was executed successfully
{
@ -1371,13 +1447,25 @@ def RDPSessionCMDRun(inGSettings, inRDPSessionKeyStr, inCMDStr, inModeStr="CROSS
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 inRDPSessionKeyStr:
:param inProcessNameWEXEStr:
:param inFlagForceCloseBool:
:return:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inProcessNameWEXEStr: Process name to kill. Example: 'notepad.exe'
:param inFlagForceCloseBool: True - force close the process. False - safe close the process
:return: True every time
"""
# Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1404,13 +1492,25 @@ def RDPSessionProcessStop(inGSettings, inRDPSessionKeyStr, inProcessNameWEXEStr,
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 inRDPSessionKeyStr:
:param inHostFilePathStr:
:param inRDPFilePathStr:
:return:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: "TESTDIR\\Test.py"
:param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: "C:\\RPA\\TESTDIR\\Test.py"
:return: True every time
"""
# Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1436,13 +1536,25 @@ def RDPSessionFileStoredSend(inGSettings, inRDPSessionKeyStr, 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 inRDPSessionKeyStr:
:param inRDPFilePathStr:
:param inHostFilePathStr:
:return:
:param inRDPSessionKeyStr: RDP Session string key - need for the further identification
:param inRDPFilePathStr: !Absolute! path to the destination file location on the RDP side. Example: "C:\\RPA\\TESTDIR\\Test.py"
:param inHostFilePathStr: Relative or absolute path to the file location on the Orchestrator side. Example: "TESTDIR\\Test.py"
:return: True every time
"""
# Check thread
if not Core.IsProcessorThread(inGSettings=inGSettings):
@ -1471,10 +1583,10 @@ def RDPSessionFileStoredRecieve(inGSettings, inRDPSessionKeyStr, inRDPFilePathSt
def GSettingsAutocleaner(inGSettings):
"""
Interval gsettings auto cleaner
HIDDEN Interval gSettings auto cleaner def to clear some garbage.
:param inGSettings: Global settings dict (singleton)
:return:
:return: None
"""
while True:
time.sleep(inGSettings["Autocleaner"]["IntervalSecFloat"]) # Wait for the next iteration

@ -105,7 +105,7 @@
</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="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>

@ -97,12 +97,24 @@
<ul class="current">
<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-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>
</ul>
</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>
@ -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>
</pre></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>
<table class="longtable docutils align-default">
<colgroup>
@ -194,19 +245,19 @@
<td><p>Add activity in AgentDict.</p></td>
</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>
<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 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 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 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 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 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>
@ -260,40 +311,40 @@
<td><p>Import module and run def in the Orchestrator process.</p></td>
</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>
<td><p>Send command in RDP session</p></td>
<td><p>Send CMD command to the RDP session “RUN” window</p></td>
</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>
<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 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 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 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 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 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 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 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 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 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 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 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>
@ -337,10 +388,6 @@
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -351,7 +398,7 @@
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>sad</p>
<dd class="field-even"><p>None</p>
</dd>
</dl>
</dd></dl>
@ -359,9 +406,7 @@
<dl class="py function">
<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>
<dd><p>Send CMD to OS throught 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</p>
<dd><p>Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -378,9 +423,7 @@ Send to agent activity item to OSCMD</p>
<dl class="py function">
<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>
<dd><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>
<dd><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -397,9 +440,7 @@ Send binary file to Agent (base64 string)</p>
<dl class="py function">
<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>
<dd><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>
<dd><p>Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -416,9 +457,7 @@ Send binary file to Agent (Bytes)</p>
<dl class="py function">
<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>
<dd><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>
<dd><p>Create text file by the string by the pyOpenRPA.Agent daemon process</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -436,13 +475,13 @@ Create Activity Item for the agent</p>
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>inGSettings</strong> Global settings dict (singleton)</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>None</p>
</dd>
</dl>
</dd></dl>
@ -946,16 +985,26 @@ Create Activity Item for the agent</p>
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inCMDStr</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inCMDStr</strong> Any CMD string</p></li>
<li><p><strong>inModeStr</strong> Variants:
“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>
</ul>
</dd>
@ -978,25 +1027,39 @@ Create Activity Item for the agent</p>
<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>
<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>
</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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inRDPTemplateDict</strong> </p></li>
<li><p><strong>inHostStr</strong> </p></li>
<li><p><strong>inPortStr</strong> </p></li>
<li><p><strong>inLoginStr</strong> </p></li>
<li><p><strong>inPasswordStr</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inRDPTemplateDict</strong> RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</p></li>
<li><p><strong>inHostStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inPortStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inLoginStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
<li><p><strong>inPasswordStr</strong> Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</p></li>
</ul>
</dd>
<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>
</dl>
</dd></dl>
@ -1004,13 +1067,24 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inBreakTriggerProcessWOExeList</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>List of the processes, which will stop the execution. Example [“notepad”]</p>
<p>Orchestrator look processes on the current machine</p>
</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
@ -1022,7 +1096,7 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<dd><p>DEVELOPING Search dublicates in GSettings RDPlist
<dd><p>DEVELOPING Search duplicates in GSettings RDPlist
!def is developing!</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -1037,18 +1111,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inRDPFilePathStr</strong> </p></li>
<li><p><strong>inHostFilePathStr</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</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> Relative or absolute path to the file location on the Orchestrator side. Example: “TESTDIRTest.py”</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>True every time</p>
</dd>
</dl>
</dd></dl>
@ -1056,18 +1141,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inHostFilePathStr</strong> </p></li>
<li><p><strong>inRDPFilePathStr</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</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> !Absolute! path to the destination file location on the RDP side. Example: “C:RPATESTDIRTest.py”</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>True every time</p>
</dd>
</dl>
</dd></dl>
@ -1075,13 +1171,23 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inBreakTriggerProcessWOExeList</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inBreakTriggerProcessWOExeList</strong> List of the processes, which will stop the execution. Example [“notepad”]</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
@ -1093,16 +1199,25 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<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>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>True every time :&gt;</p>
</dd>
</dl>
</dd></dl>
@ -1110,19 +1225,31 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inProcessNameWEXEStr</strong> </p></li>
<li><p><strong>inFilePathStr</strong> </p></li>
<li><p><strong>inFlagGetAbsPathBool</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</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> Path to run process if it is not running.</p></li>
<li><p><strong>inFlagGetAbsPathBool</strong> True - get abs path from the relative path in inFilePathStr. False - else case</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>True every time :)</p>
</dd>
</dl>
</dd></dl>
@ -1130,18 +1257,29 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inProcessNameWEXEStr</strong> </p></li>
<li><p><strong>inFlagForceCloseBool</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inProcessNameWEXEStr</strong> Process name to kill. Example: notepad.exe</p></li>
<li><p><strong>inFlagForceCloseBool</strong> True - force close the process. False - safe close the process</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p></p>
<dd class="field-even"><p>True every time</p>
</dd>
</dl>
</dd></dl>
@ -1149,13 +1287,27 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>inGSettings</strong> Global settings dict (singleton)</p></li>
<li><p><strong>inRDPSessionKeyStr</strong> </p></li>
<li><p><strong>inRDPTemplateDict</strong> </p></li>
<li><p><strong>inRDPSessionKeyStr</strong> RDP Session string key - need for the further identification</p></li>
<li><p><strong>inRDPTemplateDict</strong> RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
@ -1167,12 +1319,12 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
<dl class="py function">
<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>
<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">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<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>
</dd>
<dt class="field-even">Returns</dt>
@ -1477,6 +1629,7 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
</dl>
</dd></dl>
</div>
</div>
<div class="section" id="references">
<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="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" />
</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="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"><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>
@ -543,7 +543,7 @@
</div>
<footer>
<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>
</div>

@ -7,7 +7,7 @@
<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="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 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>
@ -146,7 +146,7 @@
<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">
@ -165,8 +165,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="how-to-start">
<h1>4. How to start<a class="headerlink" href="#how-to-start" title="Permalink to this headline"></a></h1>
<div class="section" id="how-to-start-process">
<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>
<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/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/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>

@ -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/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/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>

@ -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/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/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>

@ -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/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/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>

@ -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/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/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>
@ -196,16 +196,11 @@
<span class="sd">&quot;&quot;&quot;</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 inHostNameStr: Agent host name</span>
<span class="sd"> :param inUserStr: User login, where agent is based</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="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>
@ -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>
<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"> def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):</span>
<span class="sd"> Send to agent activity item to OSCMD</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"> :param inGSettings: Global settings dict (singleton)</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>
<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"> def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):</span>
<span class="sd"> Send binary file to Agent (Bytes)</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"> :param inGSettings: Global settings dict (singleton)</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>
<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"> def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):</span>
<span class="sd"> Send binary file to Agent (base64 string)</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"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span>
@ -287,9 +276,7 @@
<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>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> pyOpenRPA.Agent: Create text file by the string</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"> Create text file by the string by the pyOpenRPA.Agent daemon process</span>
<span class="sd"> :param inGSettings: Global settings dict (singleton)</span>
<span class="sd"> :param inHostNameStr:</span>
@ -1250,7 +1237,7 @@
<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>
<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"> :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>
<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"> 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"> .. 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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inRDPTemplateDict:</span>
<span class="sd"> :param inHostStr:</span>
<span class="sd"> :param inPortStr:</span>
<span class="sd"> :param inLoginStr:</span>
<span class="sd"> :param inPasswordStr:</span>
<span class="sd"> :return: True every time</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</span>
<span class="sd"> :param inHostStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :param inPortStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</span>
<span class="sd"> :param inLoginStr: Backward compatibility from Orchestrator v 1.1.20. Use inRDPTemplateDict</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"> &quot;&quot;&quot;</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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inBreakTriggerProcessWOExeList:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</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"> &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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inRDPTemplateDict:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate)</span>
<span class="sd"> :return:</span>
<span class="sd"> &quot;&quot;&quot;</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="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">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="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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :return:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :return: True every time :&gt;</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">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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inBreakTriggerProcessWOExeList:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</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"> &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>
@ -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>
<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 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"> &quot;&quot;&quot;</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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inProcessNameWEXEStr:</span>
<span class="sd"> :param inFilePathStr:</span>
<span class="sd"> :param inFlagGetAbsPathBool:</span>
<span class="sd"> :return:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</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: Path to run process if it is not running.</span>
<span class="sd"> :param inFlagGetAbsPathBool: True - get abs path from the relative path in inFilePathStr. False - else case</span>
<span class="sd"> :return: True every time :)</span>
<span class="sd"> &quot;&quot;&quot;</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="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;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;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="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="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="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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inCMDStr:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inCMDStr: Any CMD string</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;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"> :return: # OLD &gt; True - CMD was executed successfully</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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inProcessNameWEXEStr:</span>
<span class="sd"> :param inFlagForceCloseBool:</span>
<span class="sd"> :return:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</span>
<span class="sd"> :param inProcessNameWEXEStr: Process name to kill. Example: &#39;notepad.exe&#39;</span>
<span class="sd"> :param inFlagForceCloseBool: True - force close the process. False - safe close the process</span>
<span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inHostFilePathStr:</span>
<span class="sd"> :param inRDPFilePathStr:</span>
<span class="sd"> :return:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</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: !Absolute! path to the destination file location on the RDP side. Example: &quot;C:\\RPA\\TESTDIR\\Test.py&quot;</span>
<span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</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>
@ -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>
<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 inRDPSessionKeyStr:</span>
<span class="sd"> :param inRDPFilePathStr:</span>
<span class="sd"> :param inHostFilePathStr:</span>
<span class="sd"> :return:</span>
<span class="sd"> :param inRDPSessionKeyStr: RDP Session string key - need for the further identification</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: Relative or absolute path to the file location on the Orchestrator side. Example: &quot;TESTDIR\\Test.py&quot;</span>
<span class="sd"> :return: True every time</span>
<span class="sd"> &quot;&quot;&quot;</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>
@ -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>
<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"> :return:</span>
<span class="sd"> :return: None</span>
<span class="sd"> &quot;&quot;&quot;</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>

@ -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/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/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>

@ -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__
:members:
:autosummary:

@ -1,5 +1,5 @@
************************
4. How to start
4. How to start process
************************
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/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/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>

@ -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/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/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>
@ -201,12 +201,24 @@
</ul>
</li>
<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>
</ul>
</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>
</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/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/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>

@ -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/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/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>

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)
```
### 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:**
| `AgentActivityItemAdd`(inGSettings, …)
@ -21,27 +61,27 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
|
| `AgentOSCMD`(inGSettings, inHostNameStr, …)
| Send CMD to OS throught the pyOpenRPA.Agent daemon.
| Send CMD to OS thought the pyOpenRPA.Agent daemon.
|
| `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`(…)
| 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, …)
| 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)
| Interval gsettings auto cleaner
| HIDDEN Interval gSettings auto cleaner def to clear some garbage.
|
| `GSettingsKeyListValueAppend`(inGSettings, inValue)
@ -131,62 +171,62 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
|
| `RDPSessionCMDRun`(inGSettings, …[, inModeStr])
| Send command in RDP session
| Send CMD command to the RDP session “RUN” window
|
| `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, …[, …])
| Disconnect the RDP session
| Disconnect the RDP session and stop monitoring it.
|
| `RDPSessionDublicatesResolve`(inGSettings)
| DEVELOPING Search dublicates in GSettings RDPlist !def is developing!
| DEVELOPING Search duplicates in GSettings RDPlist !def is developing!
|
| `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, …)
| 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)
| Logoff the RDP session
| Logoff the RDP session from the Orchestrator process (close all apps in session when logoff)
|
| `RDPSessionMonitorStop`(inGSettings, …)
| Stop track the RDP session.
| Stop monitoring the RDP session by the Orchestrator process.
|
| `RDPSessionProcessStartIfNotRunning`(…[, …])
| Start process if it is not running
| Start process in RDP if it is not running (check by the arg inProcessNameWEXEStr)
|
| `RDPSessionProcessStop`(inGSettings, …)
| Create CMD str to stop process
| Send CMD command to the RDP session “RUN” window.
|
| `RDPSessionReconnect`(inGSettings, …[, …])
| RDP Session reconnect
| Reconnect the RDP session
|
| `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)
@ -253,11 +293,6 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentActivityItemAdd(inGSettings, inHostNameStr, inUserStr, inActivityItemDict)
Add activity in AgentDict. Check if item is created
```
# USAGE
import this
```
* **Parameters**
@ -277,14 +312,12 @@ import this
* **Returns**
sad
None
### 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
def OSCMD(inCMDStr, inRunAsyncBool=True, inGSettings=None):
Send to agent activity item to OSCMD
Send CMD to OS thought the pyOpenRPA.Agent daemon. Result return to log + Orchestrator by the A2O connection
* **Parameters**
@ -307,9 +340,7 @@ Send to agent activity item to OSCMD
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBase64StrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBase64Str)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmission)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (base64 string)
Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission)
* **Parameters**
@ -332,9 +363,7 @@ Send binary file to Agent (base64 string)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileBinaryDataBytesCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataBytes)
pyOpenRPA.Agent: Create binary file by the base64 string (safe for JSON transmition)
def OSFileBinaryDataBase64StrCreate(inFilePathStr, inFileDataBase64Str,inGSettings = None):
Send binary file to Agent (Bytes)
Create binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmition)
* **Parameters**
@ -357,9 +386,7 @@ Send binary file to Agent (Bytes)
### pyOpenRPA.Orchestrator.__Orchestrator__.AgentOSFileTextDataStrCreate(inGSettings, inHostNameStr, inUserStr, inFilePathStr, inFileDataStr, inEncodingStr='utf-8')
pyOpenRPA.Agent: Create text file by the string
def OSFileTextDataStrCreate(inFilePathStr, inFileDataStr, inEncodingStr = “utf-8”,inGSettings = None):
Create Activity Item for the agent
Create text file by the string by the pyOpenRPA.Agent daemon process
* **Parameters**
@ -385,7 +412,7 @@ Create Activity Item for the agent
### pyOpenRPA.Orchestrator.__Orchestrator__.GSettingsAutocleaner(inGSettings)
Interval gsettings auto cleaner
HIDDEN Interval gSettings auto cleaner def to clear some garbage.
* **Parameters**
@ -396,6 +423,7 @@ Interval gsettings auto cleaner
* **Returns**
None
@ -986,7 +1014,18 @@ Orchestrator.PythonStart(
### 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**
@ -995,15 +1034,15 @@ Send command in RDP session
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **inCMDStr**
* **inCMDStr** Any CMD string
* **inModeStr** Variants:
“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
@ -1023,13 +1062,28 @@ Send command in RDP session
### 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
Var 1: inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
Var 1 (Main stream): inGSettings, inRDPSessionKeyStr, inRDPTemplateDict
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**
@ -1037,33 +1091,43 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
* **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**
True every time
True every time :)
### 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**
@ -1072,10 +1136,13 @@ Disconnect the RDP session
* **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)
DEVELOPING Search dublicates in GSettings RDPlist
DEVELOPING Search duplicates in GSettings RDPlist
!def is developing!
@ -1102,7 +1169,19 @@ DEVELOPING Search dublicates in GSettings RDPlist
### 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**
@ -1111,23 +1190,36 @@ Receive file from Session RDP to Host using shared drive in RDP
* **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**
True every time
### 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**
@ -1136,23 +1228,35 @@ Send file from Host to Session RDP using shared drive in RDP
* **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**
True every time
### 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**
@ -1161,10 +1265,10 @@ Logoff the RDP session
* **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)
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**
@ -1184,17 +1298,31 @@ Stop track the RDP session. Current def dont kill RDP session - only stop to tra
* **inGSettings** Global settings dict (singleton)
* **inRDPSessionKeyStr**
* **inRDPSessionKeyStr** RDP Session string key - need for the further identification
* **Returns**
True every time :>
### 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**
@ -1203,26 +1331,39 @@ Start process if it is not running
* **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**
True every time :)
### 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**
@ -1231,23 +1372,39 @@ Create CMD str to stop process
* **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**
True every time
### 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**
@ -1256,10 +1413,10 @@ RDP Session reconnect
* **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)
Check RDP Session responsibility TODO NEED DEV + TEST
DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST
* **Parameters**
@ -1278,7 +1435,7 @@ Check RDP Session responsibility TODO NEED DEV + TEST
* **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

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

Loading…
Cancel
Save