diff --git a/Sources/GuideSphinx/Orchestrator/02_Defs.rst b/Sources/GuideSphinx/Orchestrator/02_Defs.rst
index 7cfbd2ef..712956b1 100644
--- a/Sources/GuideSphinx/Orchestrator/02_Defs.rst
+++ b/Sources/GuideSphinx/Orchestrator/02_Defs.rst
@@ -27,7 +27,7 @@ pyOpenRPA.Orchestrator.__Orchestrator__
References
**********
-`Python-sphinx`_
+`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
diff --git a/Sources/GuideSphinx/Robot/01_Robot.rst b/Sources/GuideSphinx/Robot/01_Robot.rst
index f2017b64..d3ab5e32 100644
--- a/Sources/GuideSphinx/Robot/01_Robot.rst
+++ b/Sources/GuideSphinx/Robot/01_Robot.rst
@@ -1,5 +1,5 @@
************************
-Description
+1. Description
************************
pyOpenRPA Robot is the python package.
diff --git a/Sources/GuideSphinx/make_ENG_Guide.bat b/Sources/GuideSphinx/make_ENG_Guide.bat
index 4797fd2c..d24c66c9 100644
--- a/Sources/GuideSphinx/make_ENG_Guide.bat
+++ b/Sources/GuideSphinx/make_ENG_Guide.bat
@@ -31,6 +31,7 @@ if errorlevel 9009 (
%SPHINXBUILD% -M html %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
%SPHINXBUILD% -M markdown %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+..\..\Wiki\ENG_Guide\html\index.html
goto end
:help
diff --git a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py
index 0d2f269a..620b8576 100644
--- a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py
+++ b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py
@@ -624,7 +624,7 @@ def ProcessorAliasDefUpdate(inGSettings, inDef, inAliasStr):
def ProcessorActivityItemCreate(inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None):
"""
- Create ActivityItem
+ Create activity item. Activity item can be used as list item in ProcessorActivityItemAppend or in Processor.ActivityListExecute.
.. code-block:: python
@@ -689,28 +689,68 @@ def ProcessorActivityItemCreate(inDef, inArgList=None, inArgDict=None, inArgGSet
}
return lActivityItemDict
-def ProcessorActivityItemAppend(inGSettings, inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None):
+def ProcessorActivityItemAppend(inGSettings, inDef=None, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None, inActivityItemDict=None):
"""
- Add Activity item in Processor list
+ Create and add activity item in processor queue.
+
+ .. code-block:: python
+
+ # USAGE
+ from pyOpenRPA import Orchestrator
+
+ # EXAMPLE 1
+ def TestDef(inArg1Str, inGSettings, inLogger):
+ pass
+ lActivityItem = Orchestrator.ProcessorActivityItemAppend(
+ inGSettings = gSettingsDict,
+ inDef = TestDef,
+ inArgList=[],
+ inArgDict={"inArg1Str": "ArgValueStr"},
+ inArgGSettingsStr = "inGSettings",
+ inArgLoggerStr = "inLogger")
+ # Activity have been already append in the processor queue
+
+ # EXAMPLE 2
+ def TestDef(inArg1Str):
+ pass
+ Orchestrator.ProcessorAliasDefUpdate(
+ inGSettings = gSettings,
+ inDef = TestDef,
+ inAliasStr="TestDefAlias")
+ lActivityItem = Orchestrator.ProcessorActivityItemCreate(
+ inDef = "TestDefAlias",
+ inArgList=[],
+ inArgDict={"inArg1Str": "ArgValueStr"},
+ inArgGSettingsStr = None,
+ inArgLoggerStr = None)
+ Orchestrator.ProcessorActivityItemAppend(
+ inGSettings = gSettingsDict,
+ inActivityItemDict = lActivityItem)
+ # Activity have been already append in the processor queue
:param inGSettings: Global settings dict (singleton)
- :param inDef:
- :param inArgList:
- :param inArgDict:
- :param inArgGSettingsStr:
- :param inArgLoggerStr:
- """
- if inArgList is None: inArgList=[]
- if inArgDict is None: inArgDict={}
- lActivityList=[
- {
- "Def":inDef, # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
- "ArgList":inArgList, # Args list
- "ArgDict":inArgDict, # Args dictionary
- "ArgGSettings": inArgGSettingsStr, # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
- "ArgLogger": inArgLoggerStr # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
- }
- ]
+ :param inDef: def link or def alias (look gSettings["Processor"]["AliasDefDict"])
+ :param inArgList: Args list for the Def
+ :param inArgDict: Args dict for the Def
+ :param inArgGSettingsStr: Name of def argument of the GSettings dict
+ :param inArgLoggerStr: Name of def argument of the logging object
+ :param inActivityItemDict: Fill if you already have ActivityItemDict (don't fill inDef, inArgList, inArgDict, inArgGSettingsStr, inArgLoggerStr)
+ """
+ if inActivityItemDict is None:
+ if inArgList is None: inArgList=[]
+ if inArgDict is None: inArgDict={}
+ if inDef is None: raise Exception(f"pyOpenRPA Exception: ProcessorActivityItemAppend need inDef arg if you dont use inActivityItemDict")
+ lActivityList=[
+ {
+ "Def":inDef, # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
+ "ArgList":inArgList, # Args list
+ "ArgDict":inArgDict, # Args dictionary
+ "ArgGSettings": inArgGSettingsStr, # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
+ "ArgLogger": inArgLoggerStr # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
+ }
+ ]
+ else:
+ lActivityList = [inActivityItemDict]
inGSettings["ProcessorDict"]["ActivityList"]+=lActivityList
## Process defs
@@ -718,8 +758,16 @@ def ProcessIsStarted(inProcessNameWOExeStr): # Check if process is started
"""
Check if there is any running process that contains the given name processName.
- :param inProcessNameWOExeStr:
- :return: True - process is running; False - process is not running
+ .. code-block:: python
+
+ # USAGE
+ from pyOpenRPA import Orchestrator
+
+ lProcessIsStartedBool = Orchestrator.ProcessIsStarted(inProcessNameWOExeStr = "notepad")
+ # lProcessIsStartedBool is True - notepad.exe is running on the Orchestrator machine
+
+ :param inProcessNameWOExeStr: Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+ :return: True - process is running on the orchestrator machine; False - process is not running on the orchestrator machine
"""
#Iterate over the all the running process
for proc in psutil.process_iter():
@@ -733,11 +781,23 @@ def ProcessIsStarted(inProcessNameWOExeStr): # Check if process is started
def ProcessStart(inPathStr, inArgList, inStopProcessNameWOExeStr=None):
"""
- Start process locally [optional: if task name is not started]
+ Start process locally. Extra feature: Use inStopProcessNameWOExeStr to stop the execution if current process is running.
- :param inPathStr:
- :param inArgList:
- :param inStopProcessNameWOExeStr:
+ .. code-block:: python
+
+ # USAGE
+ from pyOpenRPA import Orchestrator
+
+ Orchestrator.ProcessStart(
+ inPathStr = "notepad"
+ inArgList = []
+ inStopProcessNameWOExeStr = "notepad")
+ # notepad.exe will be started if no notepad.exe is active on the machine
+
+ :param inPathStr: Command to send in CMD
+ :param inArgList: List of the arguments for the CMD command. Example: ["test.txt"]
+ :param inStopProcessNameWOExeStr: Trigger: stop execution if process is running. Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+ :return: None - nothing is returned. If process will not start -exception will be raised
"""
lStartProcessBool = True
if inStopProcessNameWOExeStr is not None: #Check if process running
@@ -752,17 +812,29 @@ def ProcessStart(inPathStr, inArgList, inStopProcessNameWOExeStr=None):
if lStartProcessBool == True: # Start if flag is true
lItemArgs=[inPathStr]
+ if inArgList is None: inArgList = [] # 2021 02 22 Minor fix default value
lItemArgs.extend(inArgList)
subprocess.Popen(lItemArgs,shell=True)
def ProcessStop(inProcessNameWOExeStr, inCloseForceBool, inUserNameStr = "%username%"):
"""
- Stop process
+ Stop process on the orchestrator machine. You can set user session on the machine and set flag about to force close process.
- :param inProcessNameWOExeStr:
- :param inCloseForceBool:
- :param inUserNameStr:
- :return:
+ .. code-block:: python
+
+ # USAGE
+ from pyOpenRPA import Orchestrator
+
+ Orchestrator.ProcessStop(
+ inProcessNameWOExeStr = "notepad"
+ inCloseForceBool = True
+ inUserNameStr = "USER_99")
+ # Will close process "notepad.exe" on the user session "USER_99" (!ATTENTION! if process not exists no exceptions will be raised)
+
+ :param inProcessNameWOExeStr: Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+ :param inCloseForceBool: True - do force close. False - send signal to safe close (!ATTENTION! - Safe close works only in orchestrator session. Win OS doens't allow to send safe close signal between GUI sessions)
+ :param inUserNameStr: User name which is has current process to close. Default value is close process on the Orchestrator session
+ :return: None
"""
# Support input arg if with .exe
lProcessNameWExeStr = inProcessNameWOExeStr
@@ -783,15 +855,35 @@ def ProcessStop(inProcessNameWOExeStr, inCloseForceBool, inUserNameStr = "%usern
def ProcessListGet(inProcessNameWOExeList=None):
"""
- Check activity of the list of processes
+ Return process list on the orchestrator machine. You can determine the list of the processes you are interested - def will return the list about it.
+
+ .. code-block:: python
+
+ # USAGE
+ from pyOpenRPA import Orchestrator
+
+ lProcessList = Orchestrator.ProcessListGet()
+ # Return the list of the process on the machine. !ATTENTION! RUn orchestrator as administrator to get all process list on the machine.
:param inProcessNameWOExeList:
- :return: TODO FILL THE RESULT DICT
+ :return: {
+ "ProcessWOExeList": ["notepad","..."],
+ "ProcessWOExeUpperList": ["NOTEPAD","..."],
+ "ProcessDetailList": [
+ {
+ 'pid': 412,
+ 'username': "DESKTOP\\USER",
+ 'name': 'notepad.exe',
+ 'vms': 13.77767775,
+ 'NameWOExeUpperStr': 'NOTEPAD',
+ 'NameWOExeStr': "'notepad'"},
+ {...}]
+
"""
if inProcessNameWOExeList is None: inProcessNameWOExeList = []
'''Get list of running process sorted by Memory Usage and filtered by inProcessNameWOExeList'''
lMapUPPERInput = {} # Mapping for processes WO exe
- lResult = {"ProcessWOExeList":[],"ProcessDetailList":[]}
+ lResult = {"ProcessWOExeList":[], "ProcessWOExeUpperList":[],"ProcessDetailList":[]}
# Create updated list for quick check
lProcessNameWOExeList = []
for lItem in inProcessNameWOExeList:
@@ -807,9 +899,13 @@ def ProcessListGet(inProcessNameWOExeList=None):
pinfo['NameWOExeUpperStr'] = pinfo['name'][:-4].upper()
# Add if empty inProcessNameWOExeList or if process in inProcessNameWOExeList
if len(lProcessNameWOExeList)==0 or pinfo['name'].upper() in lProcessNameWOExeList:
- pinfo['NameWOExeStr'] = lMapUPPERInput[pinfo['name'].upper()]
+ try: # 2021 02 22 Minor fix if not admin rights
+ pinfo['NameWOExeStr'] = lMapUPPERInput[pinfo['name'].upper()]
+ except Exception as e:
+ pinfo['NameWOExeStr'] = pinfo['name'][:-4]
lResult["ProcessDetailList"].append(pinfo) # Append dict to list
lResult["ProcessWOExeList"].append(pinfo['NameWOExeStr'])
+ lResult["ProcessWOExeUpperList"].append(pinfo['NameWOExeUpperStr'])
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return lResult
diff --git a/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html b/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html
index 54f2133f..207a29f0 100644
--- a/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html
+++ b/Wiki/ENG_Guide/html/Orchestrator/01_Orchestrator.html
@@ -86,7 +86,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html b/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html
index 0ff3224a..1b270b56 100644
--- a/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html
+++ b/Wiki/ENG_Guide/html/Orchestrator/02_Defs.html
@@ -86,7 +86,7 @@
ROBOT
STUDIO
@@ -236,19 +236,19 @@
Check if there is any running process that contains the given name processName.
ProcessListGet
([inProcessNameWOExeList])
-Check activity of the list of processes
+Return process list on the orchestrator machine.
ProcessStart
(inPathStr, inArgList[, …])
-Start process locally [optional: if task name is not started]
+Start process locally.
ProcessStop
(inProcessNameWOExeStr, …[, …])
-Stop process
+Stop process on the orchestrator machine.
-ProcessorActivityItemAppend
(inGSettings, inDef)
-Add Activity item in Processor list
+ProcessorActivityItemAppend
(inGSettings[, …])
+Create and add activity item in processor queue.
ProcessorActivityItemCreate
(inDef[, …])
-Create ActivityItem
+Create activity item.
ProcessorAliasDefCreate
(inGSettings, inDef)
Create alias for def (can be used in ActivityItem in field Def) !WHEN DEF ALIAS IS REQUIRED! - Def alias is required when you try to call Python def from the Orchestrator WEB side (because you can’t transmit Python def object out of the Python environment)
@@ -620,12 +620,19 @@ Create Activity Item for the agent
pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessIsStarted
( inProcessNameWOExeStr ) [source]
Check if there is any running process that contains the given name processName.
+# USAGE
+from pyOpenRPA import Orchestrator
+
+lProcessIsStartedBool = Orchestrator . ProcessIsStarted ( inProcessNameWOExeStr = "notepad" )
+# lProcessIsStartedBool is True - notepad.exe is running on the Orchestrator machine
+
+
Parameters
-inProcessNameWOExeStr –
+inProcessNameWOExeStr – Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
Returns
-True - process is running; False - process is not running
+True - process is running on the orchestrator machine; False - process is not running on the orchestrator machine
@@ -633,63 +640,144 @@ Create Activity Item for the agent
pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessListGet
( inProcessNameWOExeList = None ) [source]
-Check activity of the list of processes
+Return process list on the orchestrator machine. You can determine the list of the processes you are interested - def will return the list about it.
+# USAGE
+from pyOpenRPA import Orchestrator
+
+lProcessList = Orchestrator . ProcessListGet ()
+# Return the list of the process on the machine. !ATTENTION! RUn orchestrator as administrator to get all process list on the machine.
+
+
Parameters
inProcessNameWOExeList –
Returns
-TODO FILL THE RESULT DICT
+
{
+
+
+
+“ProcessWOExeList”: [“notepad”,”…”],
+“ProcessWOExeUpperList”: [“NOTEPAD”,”…”],
+“ProcessDetailList”: [
+
+
+{ ‘pid’: 412,
+‘username’: “DESKTOPUSER”,
+‘name’: ‘notepad.exe’,
+‘vms’: 13.77767775,
+‘NameWOExeUpperStr’: ‘NOTEPAD’,
+‘NameWOExeStr’: “‘notepad’”},
+
{…}]
+
pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessStart
( inPathStr , inArgList , inStopProcessNameWOExeStr = None ) [source]
-Start process locally [optional: if task name is not started]
+Start process locally. Extra feature: Use inStopProcessNameWOExeStr to stop the execution if current process is running.
+# USAGE
+from pyOpenRPA import Orchestrator
+
+Orchestrator . ProcessStart (
+ inPathStr = "notepad"
+ inArgList = []
+ inStopProcessNameWOExeStr = "notepad" )
+# notepad.exe will be started if no notepad.exe is active on the machine
+
+
Parameters
-inPathStr –
-inArgList –
-inStopProcessNameWOExeStr –
+inPathStr – Command to send in CMD
+inArgList – List of the arguments for the CMD command. Example: [“test.txt”]
+inStopProcessNameWOExeStr – Trigger: stop execution if process is running. Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
+Returns
+None - nothing is returned. If process will not start -exception will be raised
+
pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessStop
( inProcessNameWOExeStr , inCloseForceBool , inUserNameStr = '%username%' ) [source]
-Stop process
+Stop process on the orchestrator machine. You can set user session on the machine and set flag about to force close process.
+# USAGE
+from pyOpenRPA import Orchestrator
+
+Orchestrator . ProcessStop (
+ inProcessNameWOExeStr = "notepad"
+ inCloseForceBool = True
+ inUserNameStr = "USER_99" )
+# Will close process "notepad.exe" on the user session "USER_99" (!ATTENTION! if process not exists no exceptions will be raised)
+
+
Parameters
-inProcessNameWOExeStr –
-inCloseForceBool –
-inUserNameStr –
+inProcessNameWOExeStr – Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
+inCloseForceBool – True - do force close. False - send signal to safe close (!ATTENTION! - Safe close works only in orchestrator session. Win OS doens’t allow to send safe close signal between GUI sessions)
+inUserNameStr – User name which is has current process to close. Default value is close process on the Orchestrator session
Returns
-
+None
-pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessorActivityItemAppend
( inGSettings , inDef , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None ) [source]
-Add Activity item in Processor list
+pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessorActivityItemAppend
( inGSettings , inDef = None , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None , inActivityItemDict = None ) [source]
+Create and add activity item in processor queue.
+# USAGE
+from pyOpenRPA import Orchestrator
+
+# EXAMPLE 1
+def TestDef ( inArg1Str , inGSettings , inLogger ):
+ pass
+lActivityItem = Orchestrator . ProcessorActivityItemAppend (
+ inGSettings = gSettingsDict ,
+ inDef = TestDef ,
+ inArgList = [],
+ inArgDict = { "inArg1Str" : "ArgValueStr" },
+ inArgGSettingsStr = "inGSettings" ,
+ inArgLoggerStr = "inLogger" )
+# Activity have been already append in the processor queue
+
+# EXAMPLE 2
+def TestDef ( inArg1Str ):
+ pass
+Orchestrator . ProcessorAliasDefUpdate (
+ inGSettings = gSettings ,
+ inDef = TestDef ,
+ inAliasStr = "TestDefAlias" )
+lActivityItem = Orchestrator . ProcessorActivityItemCreate (
+ inDef = "TestDefAlias" ,
+ inArgList = [],
+ inArgDict = { "inArg1Str" : "ArgValueStr" },
+ inArgGSettingsStr = None ,
+ inArgLoggerStr = None )
+Orchestrator . ProcessorActivityItemAppend (
+ inGSettings = gSettingsDict ,
+ inActivityItemDict = lActivityItem )
+# Activity have been already append in the processor queue
+
+
Parameters
inGSettings – Global settings dict (singleton)
-inDef –
-inArgList –
-inArgDict –
-inArgGSettingsStr –
-inArgLoggerStr –
+inDef – def link or def alias (look gSettings[“Processor”][“AliasDefDict”])
+inArgList – Args list for the Def
+inArgDict – Args dict for the Def
+inArgGSettingsStr – Name of def argument of the GSettings dict
+inArgLoggerStr – Name of def argument of the logging object
+inActivityItemDict – Fill if you already have ActivityItemDict (don’t fill inDef, inArgList, inArgDict, inArgGSettingsStr, inArgLoggerStr)
@@ -698,7 +786,7 @@ Create Activity Item for the agent
pyOpenRPA.Orchestrator.__Orchestrator__.
ProcessorActivityItemCreate
( inDef , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None ) [source]
-Create ActivityItem
+Create activity item. Activity item can be used as list item in ProcessorActivityItemAppend or in Processor.ActivityListExecute.
# USAGE
from pyOpenRPA import Orchestrator
@@ -1310,7 +1398,12 @@ Var 2 (Backward compatibility): inGSettings, inRDPSessionKeyStr, inHostStr, inP
diff --git a/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html b/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html
index 9c21ab17..a0c9db84 100644
--- a/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html
+++ b/Wiki/ENG_Guide/html/Orchestrator/03_gSettingsTemplate.html
@@ -86,7 +86,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/Orchestrator/04_HowToStart.html b/Wiki/ENG_Guide/html/Orchestrator/04_HowToStart.html
index 2723cdc5..ecbe7476 100644
--- a/Wiki/ENG_Guide/html/Orchestrator/04_HowToStart.html
+++ b/Wiki/ENG_Guide/html/Orchestrator/04_HowToStart.html
@@ -85,7 +85,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/Robot/01_Robot.html b/Wiki/ENG_Guide/html/Robot/01_Robot.html
index 5da91d70..907b7f44 100644
--- a/Wiki/ENG_Guide/html/Robot/01_Robot.html
+++ b/Wiki/ENG_Guide/html/Robot/01_Robot.html
@@ -7,7 +7,7 @@
- Description — pyOpenRPA v1.2.0 documentation
+ 1. Description — pyOpenRPA v1.2.0 documentation
@@ -86,7 +86,7 @@
ROBOT
-Description
+1. Description
@@ -150,7 +150,7 @@
»
- Description
+ 1. Description
@@ -170,7 +170,7 @@
-
Description
+
1. Description
pyOpenRPA Robot is the python package.
pyOpenRPA Robot
diff --git a/Wiki/ENG_Guide/html/Robot/02_Defs.html b/Wiki/ENG_Guide/html/Robot/02_Defs.html
index a6e8bfc8..41f9c470 100644
--- a/Wiki/ENG_Guide/html/Robot/02_Defs.html
+++ b/Wiki/ENG_Guide/html/Robot/02_Defs.html
@@ -39,7 +39,7 @@
-
+
@@ -86,7 +86,7 @@
ROBOT
-Description
+1. Description
2. Defs
pyOpenRPA.Robot.UIDesktop
References
@@ -233,7 +233,7 @@
diff --git a/Wiki/ENG_Guide/html/Studio/Studio.html b/Wiki/ENG_Guide/html/Studio/Studio.html
index 905aff2b..0e0a1a58 100644
--- a/Wiki/ENG_Guide/html/Studio/Studio.html
+++ b/Wiki/ENG_Guide/html/Studio/Studio.html
@@ -86,7 +86,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/_modules/index.html b/Wiki/ENG_Guide/html/_modules/index.html
index 5a9df003..eb5b9f2f 100644
--- a/Wiki/ENG_Guide/html/_modules/index.html
+++ b/Wiki/ENG_Guide/html/_modules/index.html
@@ -84,7 +84,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html b/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html
index 03d8aa2d..fd0bc92d 100644
--- a/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html
+++ b/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Orchestrator/__Orchestrator__.html
@@ -84,7 +84,7 @@
ROBOT
STUDIO
@@ -789,7 +789,7 @@
[docs] def ProcessorActivityItemCreate ( inDef , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None ):
"""
-
Create ActivityItem
+
Create activity item. Activity item can be used as list item in ProcessorActivityItemAppend or in Processor.ActivityListExecute.
.. code-block:: python
@@ -854,28 +854,68 @@
}
return lActivityItemDict
-[docs] def ProcessorActivityItemAppend ( inGSettings , inDef , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None ):
+
[docs] def ProcessorActivityItemAppend ( inGSettings , inDef = None , inArgList = None , inArgDict = None , inArgGSettingsStr = None , inArgLoggerStr = None , inActivityItemDict = None ):
"""
-
Add Activity item in Processor list
+
Create and add activity item in processor queue.
+
+
.. code-block:: python
+
+
# USAGE
+
from pyOpenRPA import Orchestrator
+
+
# EXAMPLE 1
+
def TestDef(inArg1Str, inGSettings, inLogger):
+
pass
+
lActivityItem = Orchestrator.ProcessorActivityItemAppend(
+
inGSettings = gSettingsDict,
+
inDef = TestDef,
+
inArgList=[],
+
inArgDict={"inArg1Str": "ArgValueStr"},
+
inArgGSettingsStr = "inGSettings",
+
inArgLoggerStr = "inLogger")
+
# Activity have been already append in the processor queue
+
+
# EXAMPLE 2
+
def TestDef(inArg1Str):
+
pass
+
Orchestrator.ProcessorAliasDefUpdate(
+
inGSettings = gSettings,
+
inDef = TestDef,
+
inAliasStr="TestDefAlias")
+
lActivityItem = Orchestrator.ProcessorActivityItemCreate(
+
inDef = "TestDefAlias",
+
inArgList=[],
+
inArgDict={"inArg1Str": "ArgValueStr"},
+
inArgGSettingsStr = None,
+
inArgLoggerStr = None)
+
Orchestrator.ProcessorActivityItemAppend(
+
inGSettings = gSettingsDict,
+
inActivityItemDict = lActivityItem)
+
# Activity have been already append in the processor queue
:param inGSettings: Global settings dict (singleton)
-
:param inDef:
-
:param inArgList:
-
:param inArgDict:
-
:param inArgGSettingsStr:
-
:param inArgLoggerStr:
+
:param inDef: def link or def alias (look gSettings["Processor"]["AliasDefDict"])
+
:param inArgList: Args list for the Def
+
:param inArgDict: Args dict for the Def
+
:param inArgGSettingsStr: Name of def argument of the GSettings dict
+
:param inArgLoggerStr: Name of def argument of the logging object
+
:param inActivityItemDict: Fill if you already have ActivityItemDict (don't fill inDef, inArgList, inArgDict, inArgGSettingsStr, inArgLoggerStr)
"""
-
if inArgList is None : inArgList = []
-
if inArgDict is None : inArgDict = {}
-
lActivityList = [
-
{
-
"Def" : inDef , # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
-
"ArgList" : inArgList , # Args list
-
"ArgDict" : inArgDict , # Args dictionary
-
"ArgGSettings" : inArgGSettingsStr , # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
-
"ArgLogger" : inArgLoggerStr # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
-
}
-
]
+
if inActivityItemDict is None :
+
if inArgList is None : inArgList = []
+
if inArgDict is None : inArgDict = {}
+
if inDef is None : raise Exception ( f "pyOpenRPA Exception: ProcessorActivityItemAppend need inDef arg if you dont use inActivityItemDict" )
+
lActivityList = [
+
{
+
"Def" : inDef , # def link or def alias (look gSettings["Processor"]["AliasDefDict"])
+
"ArgList" : inArgList , # Args list
+
"ArgDict" : inArgDict , # Args dictionary
+
"ArgGSettings" : inArgGSettingsStr , # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
+
"ArgLogger" : inArgLoggerStr # Name of GSettings attribute: str (ArgDict) or index (for ArgList)
+
}
+
]
+
else :
+
lActivityList = [ inActivityItemDict ]
inGSettings [ "ProcessorDict" ][ "ActivityList" ] += lActivityList
## Process defs
@@ -883,8 +923,16 @@
"""
Check if there is any running process that contains the given name processName.
-
:param inProcessNameWOExeStr:
-
:return: True - process is running; False - process is not running
+
.. code-block:: python
+
+
# USAGE
+
from pyOpenRPA import Orchestrator
+
+
lProcessIsStartedBool = Orchestrator.ProcessIsStarted(inProcessNameWOExeStr = "notepad")
+
# lProcessIsStartedBool is True - notepad.exe is running on the Orchestrator machine
+
+
:param inProcessNameWOExeStr: Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+
:return: True - process is running on the orchestrator machine; False - process is not running on the orchestrator machine
"""
#Iterate over the all the running process
for proc in psutil . process_iter ():
@@ -898,11 +946,23 @@
[docs] def ProcessStart ( inPathStr , inArgList , inStopProcessNameWOExeStr = None ):
"""
-
Start process locally [optional: if task name is not started]
+
Start process locally. Extra feature: Use inStopProcessNameWOExeStr to stop the execution if current process is running.
-
:param inPathStr:
-
:param inArgList:
-
:param inStopProcessNameWOExeStr:
+
.. code-block:: python
+
+
# USAGE
+
from pyOpenRPA import Orchestrator
+
+
Orchestrator.ProcessStart(
+
inPathStr = "notepad"
+
inArgList = []
+
inStopProcessNameWOExeStr = "notepad")
+
# notepad.exe will be started if no notepad.exe is active on the machine
+
+
:param inPathStr: Command to send in CMD
+
:param inArgList: List of the arguments for the CMD command. Example: ["test.txt"]
+
:param inStopProcessNameWOExeStr: Trigger: stop execution if process is running. Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+
:return: None - nothing is returned. If process will not start -exception will be raised
"""
lStartProcessBool = True
if inStopProcessNameWOExeStr is not None : #Check if process running
@@ -917,17 +977,29 @@
if lStartProcessBool == True : # Start if flag is true
lItemArgs = [ inPathStr ]
+
if inArgList is None : inArgList = [] # 2021 02 22 Minor fix default value
lItemArgs . extend ( inArgList )
subprocess . Popen ( lItemArgs , shell = True )
[docs] def ProcessStop ( inProcessNameWOExeStr , inCloseForceBool , inUserNameStr = " %u sername%" ):
"""
-
Stop process
+
Stop process on the orchestrator machine. You can set user session on the machine and set flag about to force close process.
-
:param inProcessNameWOExeStr:
-
:param inCloseForceBool:
-
:param inUserNameStr:
-
:return:
+
.. code-block:: python
+
+
# USAGE
+
from pyOpenRPA import Orchestrator
+
+
Orchestrator.ProcessStop(
+
inProcessNameWOExeStr = "notepad"
+
inCloseForceBool = True
+
inUserNameStr = "USER_99")
+
# Will close process "notepad.exe" on the user session "USER_99" (!ATTENTION! if process not exists no exceptions will be raised)
+
+
:param inProcessNameWOExeStr: Process name WithOut (WO) '.exe' postfix. Example: "notepad" (not "notepad.exe")
+
:param inCloseForceBool: True - do force close. False - send signal to safe close (!ATTENTION! - Safe close works only in orchestrator session. Win OS doens't allow to send safe close signal between GUI sessions)
+
:param inUserNameStr: User name which is has current process to close. Default value is close process on the Orchestrator session
+
:return: None
"""
# Support input arg if with .exe
lProcessNameWExeStr = inProcessNameWOExeStr
@@ -948,15 +1020,35 @@
[docs] def ProcessListGet ( inProcessNameWOExeList = None ):
"""
-
Check activity of the list of processes
+
Return process list on the orchestrator machine. You can determine the list of the processes you are interested - def will return the list about it.
+
+
.. code-block:: python
+
+
# USAGE
+
from pyOpenRPA import Orchestrator
+
+
lProcessList = Orchestrator.ProcessListGet()
+
# Return the list of the process on the machine. !ATTENTION! RUn orchestrator as administrator to get all process list on the machine.
:param inProcessNameWOExeList:
-
:return: TODO FILL THE RESULT DICT
+
:return: {
+
"ProcessWOExeList": ["notepad","..."],
+
"ProcessWOExeUpperList": ["NOTEPAD","..."],
+
"ProcessDetailList": [
+
{
+
'pid': 412,
+
'username': "DESKTOP\\USER",
+
'name': 'notepad.exe',
+
'vms': 13.77767775,
+
'NameWOExeUpperStr': 'NOTEPAD',
+
'NameWOExeStr': "'notepad'"},
+
{...}]
+
"""
if inProcessNameWOExeList is None : inProcessNameWOExeList = []
'''Get list of running process sorted by Memory Usage and filtered by inProcessNameWOExeList'''
lMapUPPERInput = {} # Mapping for processes WO exe
-
lResult = { "ProcessWOExeList" :[], "ProcessDetailList" :[]}
+
lResult = { "ProcessWOExeList" :[], "ProcessWOExeUpperList" :[], "ProcessDetailList" :[]}
# Create updated list for quick check
lProcessNameWOExeList = []
for lItem in inProcessNameWOExeList :
@@ -972,9 +1064,13 @@
pinfo [ 'NameWOExeUpperStr' ] = pinfo [ 'name' ][: - 4 ] . upper ()
# Add if empty inProcessNameWOExeList or if process in inProcessNameWOExeList
if len ( lProcessNameWOExeList ) == 0 or pinfo [ 'name' ] . upper () in lProcessNameWOExeList :
-
pinfo [ 'NameWOExeStr' ] = lMapUPPERInput [ pinfo [ 'name' ] . upper ()]
+
try : # 2021 02 22 Minor fix if not admin rights
+
pinfo [ 'NameWOExeStr' ] = lMapUPPERInput [ pinfo [ 'name' ] . upper ()]
+
except Exception as e :
+
pinfo [ 'NameWOExeStr' ] = pinfo [ 'name' ][: - 4 ]
lResult [ "ProcessDetailList" ] . append ( pinfo ) # Append dict to list
lResult [ "ProcessWOExeList" ] . append ( pinfo [ 'NameWOExeStr' ])
+
lResult [ "ProcessWOExeUpperList" ] . append ( pinfo [ 'NameWOExeUpperStr' ])
except ( psutil . NoSuchProcess , psutil . AccessDenied , psutil . ZombieProcess ):
pass
return lResult
diff --git a/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Robot/UIDesktop.html b/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Robot/UIDesktop.html
index 39d9558b..de274589 100644
--- a/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Robot/UIDesktop.html
+++ b/Wiki/ENG_Guide/html/_modules/pyOpenRPA/Robot/UIDesktop.html
@@ -84,7 +84,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/_sources/Orchestrator/02_Defs.rst.txt b/Wiki/ENG_Guide/html/_sources/Orchestrator/02_Defs.rst.txt
index 7cfbd2ef..712956b1 100644
--- a/Wiki/ENG_Guide/html/_sources/Orchestrator/02_Defs.rst.txt
+++ b/Wiki/ENG_Guide/html/_sources/Orchestrator/02_Defs.rst.txt
@@ -27,7 +27,7 @@ pyOpenRPA.Orchestrator.__Orchestrator__
References
**********
-`Python-sphinx`_
+`reStructuredText`_
.. target-notes::
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
diff --git a/Wiki/ENG_Guide/html/_sources/Robot/01_Robot.rst.txt b/Wiki/ENG_Guide/html/_sources/Robot/01_Robot.rst.txt
index f2017b64..d3ab5e32 100644
--- a/Wiki/ENG_Guide/html/_sources/Robot/01_Robot.rst.txt
+++ b/Wiki/ENG_Guide/html/_sources/Robot/01_Robot.rst.txt
@@ -1,5 +1,5 @@
************************
-Description
+1. Description
************************
pyOpenRPA Robot is the python package.
diff --git a/Wiki/ENG_Guide/html/genindex.html b/Wiki/ENG_Guide/html/genindex.html
index d3275868..c1f6315a 100644
--- a/Wiki/ENG_Guide/html/genindex.html
+++ b/Wiki/ENG_Guide/html/genindex.html
@@ -84,7 +84,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/index.html b/Wiki/ENG_Guide/html/index.html
index 59530190..3462694b 100644
--- a/Wiki/ENG_Guide/html/index.html
+++ b/Wiki/ENG_Guide/html/index.html
@@ -38,7 +38,7 @@
-
+
@@ -85,7 +85,7 @@
ROBOT
STUDIO
@@ -172,7 +172,7 @@
diff --git a/Wiki/ENG_Guide/html/objects.inv b/Wiki/ENG_Guide/html/objects.inv
index 42c32e13..8cf84509 100644
Binary files a/Wiki/ENG_Guide/html/objects.inv and b/Wiki/ENG_Guide/html/objects.inv differ
diff --git a/Wiki/ENG_Guide/html/py-modindex.html b/Wiki/ENG_Guide/html/py-modindex.html
index 171d7ae7..2c7fb438 100644
--- a/Wiki/ENG_Guide/html/py-modindex.html
+++ b/Wiki/ENG_Guide/html/py-modindex.html
@@ -87,7 +87,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/search.html b/Wiki/ENG_Guide/html/search.html
index 0a22b4df..e54d8fd8 100644
--- a/Wiki/ENG_Guide/html/search.html
+++ b/Wiki/ENG_Guide/html/search.html
@@ -87,7 +87,7 @@
ROBOT
STUDIO
diff --git a/Wiki/ENG_Guide/html/searchindex.js b/Wiki/ENG_Guide/html/searchindex.js
index fa80d8d9..0088e3b4 100644
--- a/Wiki/ENG_Guide/html/searchindex.js
+++ b/Wiki/ENG_Guide/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["Orchestrator/01_Orchestrator","Orchestrator/02_Defs","Orchestrator/03_gSettingsTemplate","Orchestrator/04_HowToStart","Robot/01_Robot","Robot/02_Defs","Studio/Studio","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Orchestrator\\01_Orchestrator.rst","Orchestrator\\02_Defs.rst","Orchestrator\\03_gSettingsTemplate.rst","Orchestrator\\04_HowToStart.rst","Robot\\01_Robot.rst","Robot\\02_Defs.rst","Studio\\Studio.rst","index.rst"],objects:{"pyOpenRPA.Orchestrator":{__Orchestrator__:[1,0,0,"-"]},"pyOpenRPA.Orchestrator.__Orchestrator__":{AgentActivityItemAdd:[1,1,1,""],AgentOSCMD:[1,1,1,""],AgentOSFileBinaryDataBase64StrCreate:[1,1,1,""],AgentOSFileBinaryDataBytesCreate:[1,1,1,""],AgentOSFileTextDataStrCreate:[1,1,1,""],GSettingsAutocleaner:[1,1,1,""],GSettingsKeyListValueAppend:[1,1,1,""],GSettingsKeyListValueGet:[1,1,1,""],GSettingsKeyListValueOperatorPlus:[1,1,1,""],GSettingsKeyListValueSet:[1,1,1,""],OSCMD:[1,1,1,""],OSCredentialsVerify:[1,1,1,""],OrchestratorRestart:[1,1,1,""],OrchestratorSessionSave:[1,1,1,""],ProcessIsStarted:[1,1,1,""],ProcessListGet:[1,1,1,""],ProcessStart:[1,1,1,""],ProcessStop:[1,1,1,""],ProcessorActivityItemAppend:[1,1,1,""],ProcessorActivityItemCreate:[1,1,1,""],ProcessorAliasDefCreate:[1,1,1,""],ProcessorAliasDefUpdate:[1,1,1,""],PythonStart:[1,1,1,""],RDPSessionCMDRun:[1,1,1,""],RDPSessionConnect:[1,1,1,""],RDPSessionDisconnect:[1,1,1,""],RDPSessionDublicatesResolve:[1,1,1,""],RDPSessionFileStoredRecieve:[1,1,1,""],RDPSessionFileStoredSend:[1,1,1,""],RDPSessionLogoff:[1,1,1,""],RDPSessionMonitorStop:[1,1,1,""],RDPSessionProcessStartIfNotRunning:[1,1,1,""],RDPSessionProcessStop:[1,1,1,""],RDPSessionReconnect:[1,1,1,""],RDPSessionResponsibilityCheck:[1,1,1,""],RDPTemplateCreate:[1,1,1,""],SchedulerActivityTimeAddWeekly:[1,1,1,""],UACKeyListCheck:[1,1,1,""],UACSuperTokenUpdate:[1,1,1,""],UACUpdate:[1,1,1,""],WebCPUpdate:[1,1,1,""],WebURLConnectDef:[1,1,1,""],WebURLConnectFile:[1,1,1,""],WebURLConnectFolder:[1,1,1,""],WebUserInfoGet:[1,1,1,""],WebUserIsSuperToken:[1,1,1,""],WebUserUACHierarchyGet:[1,1,1,""]},"pyOpenRPA.Robot":{UIDesktop:[5,0,0,"-"]},"pyOpenRPA.Robot.UIDesktop":{UIOSelector_Get_UIOList:[5,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"0643":3,"100":2,"1050":[1,2],"120":2,"127":1,"1680":[1,2],"1680x1050":2,"1992":3,"222":[0,2],"300":2,"3389":[1,2],"3600":2,"600":2,"640x480":2,"8081":2,"\u0432":[4,5],"\u0432\u0445\u043e\u0434\u043d\u043e\u0439":[4,5],"\u0432\u044b\u043a\u0438\u043d\u0443\u0442\u044c":[4,5],"\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c":[4,5],"\u0434\u0435\u043c\u043e\u043d\u0430":2,"\u0434\u0435\u043c\u043e\u043d\u0443":2,"\u043a":[2,4,5],"\u043a\u043e\u043d\u043d\u0435\u043a\u0442":[4,5],"\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443":2,"\u043b\u043e\u0433\u0433\u0435\u0440\u0430":2,"\u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f":2,"\u043c\u043e\u0436\u043d\u043e":2,"\u043d\u0435":[4,5],"\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438":[4,5],"\u043e\u0448\u0438\u0431\u043a\u0443":[4,5],"\u043f\u043e":2,"\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430":2,"\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f":2,"\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c":[4,5],"\u043f\u043e\u0440\u0442":2,"\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443":[4,5],"\u043f\u0443\u0441\u0442\u043e\u0433\u043e":[4,5],"\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435":2,"\u0441\u0435\u0440\u0432\u0435\u0440\u0430":2,"\u0441\u0435\u0442\u0435\u0432\u043e\u0435":2,"\u0441\u043b\u0443\u0447\u0430\u0435":[4,5],"\u0441\u043e\u0437\u0434\u0430\u0442\u044c":2,"\u0441\u043f\u0438\u0441\u043a\u0430":[4,5],"\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f":[4,5],"\u0444\u0430\u0439\u043b":2,"\u0444\u043b\u0430\u0433":[4,5],"\u0447\u0442\u043e":[4,5],"\u044d\u043b\u0435\u043c\u0435\u043d\u0442":[4,5],"byte":1,"case":[0,2],"default":2,"float":[0,2],"function":[1,2,5],"import":[0,1,2,3,5],"int":0,"new":[0,1,2,3],"return":[1,2,4,5],"true":[1,2,3,4,5],"try":[1,3],"var":1,Abs:2,For:3,Has:2,THE:1,The:0,USe:2,Use:3,Will:2,__agentdictitemcreate__:2,__create__:2,__main__:3,__name__:3,__orchestrator__:7,__uacclientadmincreate__:[2,3],_sessionlast_rdplist:1,a2o:1,about:[0,1,2],absolut:[1,2,3],abspath:3,access:[1,2,3],accessus:2,activ:[0,1,2],activitydict:2,activityitem:1,activitylist:2,activitylistappendprocessorqueuebool:2,activitylistexecutebool:2,activitytimelist:2,actual:1,add:[1,2,3],addhandl:2,address:2,admindict:[2,3],after:[0,2,3],agent:1,agentactivityitemadd:1,agentdict:[1,2],agentkeydict:[2,3],agentkeystr:2,agentoscmd:1,agentosfilebinarydatabase64strcr:1,agentosfilebinarydatabytescr:1,agentosfiletextdatastrcr:1,algorithm:0,algorythm:[0,2],alia:[0,1,2],aliasdefdict:[0,1,2],all:[0,1,2,3],allow:[2,3],ani:[0,1],anoth:1,append:[0,1,2],appli:[0,2],applic:[0,1,2],architectur:7,archiv:2,arg:[0,1,2],argdict:[0,1,2],arggset:[0,1,2],arglist:[0,1,2],arglogg:[0,1,2],argument:[1,2],argvaluestr:1,asctim:2,associ:1,async:0,asynchonu:0,attent:[0,1,3],attribut:[0,2],authent:2,authentif:1,authtoken:2,authtokensdict:2,auto:1,autoclean:[0,2],automat:[0,2],avail:2,b4ff:3,backward:1,base64:1,base:[0,1],basic:[0,2,3],becaus:[0,1],been:2,befor:2,beginwith:[1,2],below:[0,3],between:[0,1,2,3],binari:1,block:2,bool:[0,1,2],browser:2,build:3,busi:0,button:2,cach:2,call:[0,1,3],can:[0,1,2],cant:0,central:0,chang:2,check:[1,2,3],checkintervalsecfloat:2,checktasknam:2,cleaner:1,clear:2,client:[1,2],clientrequesthandl:2,clipboard:1,close:2,cmd:[1,2],cmdinputbool:[2,3],code:0,collect:2,comma:0,command:[1,2],commun:1,compat:1,compex:0,complet:2,complex:0,compon:7,concept:7,config:3,configur:[2,3,7],connect:[1,2],connectioncountint:2,connectionfirstqueueitemcountint:2,consist:0,consol:2,consolid:0,contain:[1,2],content:[1,2],control:[0,1,2,3],controlpanel:[2,3],controlpaneldict:2,controlpanelkeyallowedlist:2,controlpanelrefreshintervalsecfloat:2,cooki:2,core:0,cp_test:3,cp_versioncheck:3,cpdict:2,cpkei:2,cpkeydict:[2,3],cpkeystr:2,creat:[0,1,2,3],credenti:1,crosscheck:1,current:[0,1,2,3],custom:0,data:2,datasetlast:2,datetim:[2,3],decentr:0,def:[0,2,3,7],defaliastest:[0,2],defnamestr:2,defsettingsupdatepathlist:2,del:3,deprec:2,depthbit:2,descript:[2,7],desktop:[0,2,3],detail:0,detect:2,dev:1,develop:1,dict:[1,2,7],dictionari:[0,2],differ:0,disconnect:[1,2],docutil:5,domain:2,domainadstr:2,domainupperstr:1,dont:[1,2],drive:[1,2],dsd:[0,2],dublic:1,dump:2,dumploglist:2,dumploglistcountint:2,dumploglisthashstr:2,dumploglistrefreshintervalsecfloat:2,durat:2,els:[2,3],empti:2,encod:1,end:0,env:2,environ:1,equal:[1,2],equalcas:[1,2],everi:[1,2],exampl:[0,1,2,3,5],except:3,exe:[2,5],execut:[0,1,2,6],executebool:2,exist:[1,2],expir:1,fals:[1,2],featur:[0,2],field:[1,2],file:[1,2],filehandl:2,filemanag:2,filemod:2,fileurl:2,fileurlfilepathdict:2,fileurlfilepathdict_help:2,fill:[1,2],find:0,flag:[1,2],flagaccess:2,flagaccessdefrequestglobalauthent:2,flagcredentialsask:2,flagdonotexpir:2,flagforc:2,flagsessionisact:2,flaguseallmonitor:2,flexibl:0,folder:[1,3],forc:2,forget:2,formatt:2,from:[0,1,2,3,5],full:2,fullscreen:2,fullscreenbool:2,fullscreenrdpsessionkeystr:2,functional:3,gener:[1,2],get:[1,2,4,5],getlogg:2,git:[1,2],give:[1,2],given:1,global:[1,7],goe:0,good:0,gset:[0,1,3,7],gsettingsautoclean:1,gsettingskeylistvalueappend:1,gsettingskeylistvalueget:1,gsettingskeylistvalueoperatorplu:1,gsettingskeylistvalueset:1,gui:0,guid:2,gurbag:2,handl:2,handler:2,hard:2,has:[0,1],height:2,help:1,hex:2,hierarchi:1,host:[1,2],hostnameupperstr:2,how:7,html:[1,5],htmlrenderdef:2,http:[0,1,2,5],human:1,ignor:[1,2],ignorebool:2,imaslov:3,inactivityitemdict:1,inactivitylist:1,inadisdefaultbool:[1,3],inadloginstr:[1,3],inadstr:[1,3],inaliasstr:1,inarg1str:1,inargdict:1,inarggset:1,inarggsettingsstr:1,inarglist:1,inargloggerstr:1,inbreaktriggerprocesswoexelist:1,incloseforcebool:1,incmdstr:1,incontenttypestr:1,incpkeystr:1,indef:1,indefnamestr:1,indepthbitint:1,index:[0,1,2],indict:2,indomainstr:1,inel:[4,5],inencodingstr:1,infiledatabase64str:1,infiledatabyt:1,infiledatastr:1,infilepathstr:1,inflagforceclosebool:1,inflaggetabspathbool:1,inflagraiseexcept:[4,5],info:[1,2,3],infolderpathstr:1,inform:0,ingset:[0,1,3],ingsettingsclientdict:2,inhashkeystr:2,inheightpxint:1,inhostfilepathstr:1,inhostnamestr:1,inhoststr:[1,2],inhtmlrenderdef:1,init:[0,1,2,3],initdatetim:2,injsinitgeneratordef:1,injsongeneratordef:1,inkeylist:1,inkeystr:2,inlogg:[1,2],inloginstr:[1,2],inmatchtypestr:1,inmethodstr:1,inmodestr:[0,1,2,3],inmodulepathstr:1,inpasswordstr:[1,2],inpathstr:1,inportint:1,inportstr:[1,2],inprocessnamewexestr:1,inprocessnamewoexelist:1,inprocessnamewoexestr:1,input:2,inrdpfilepathstr:1,inrdpsessionkeystr:[1,2],inrdptemplatedict:1,inrequest:1,inrolehierarchyalloweddict:[1,3],inrolekeylist:1,inrowcountint:2,inrunasyncbool:1,insert:3,inshareddrivelist:1,inspecificationlist:[4,5],instanc:0,instopprocessnamewoexestr:1,insupertokenstr:[1,3],interact:0,interfac:0,interpret:0,interv:[1,2],intervalsecfloat:2,intimehhmmstr:1,inurllist:[1,3],inurlstr:1,inusebothmonitorbool:1,inusernamestr:1,inuserstr:1,invalu:1,inweekdaylist:1,inwidthpxint:1,islistenbool:2,isresponsiblebool:1,item:[0,1],iter:2,join:3,jsinitgeneratordef:2,json:[0,1,2],jsongeneratordef:2,keep:0,kei:1,keystr:2,kill:1,know:0,kwarg:0,lactivityitem:1,laliasstr:1,last:2,left:0,len:2,levelnam:2,lifetim:2,lifetimerequestsecfloat:2,lifetimesecfloat:2,light:0,like:0,link:[0,1,2],list:[0,1,2,4,5],listen:1,listenport:2,listenport_:2,listenurllist:2,listread:2,load:2,local:[1,2],localhost:2,log:[1,2,3],logger:[2,3],loggerdumploghandleradd:2,loggerhandlerdumploglist:2,login:[1,2,3],logoff:[1,2],logviewerbool:[2,3],look:[0,1,2],lookmachinescreenshot:2,lowercas:2,lpyopenrpasourcefolderpathstr:3,lresult:2,lresultdict:2,luacclientdict:3,machin:[2,3],machina:2,main:[0,2,3],makedir:2,mani:0,matchtyp:2,max:2,mechan:0,mega:0,merg:1,messag:2,method:2,methodmatchurl:2,methodmatchurlbeforelist:2,mhandlerdumploglist:2,mmstr:2,modul:[0,1,2,3],more:0,mrobotlogg:2,mrobotloggerfh:2,mrobotloggerformatt:2,must:2,name:[0,1,2,3],need:[0,1,2],nest:1,net:5,never:1,newkeydict:1,newkeylist:1,newvalu:1,none:[0,1,2,4,5],notepad:[2,5],nothingbool:2,now:[1,2],object:[0,1,2],occupi:1,octet:1,off:2,old:[1,2,3],one:[2,3],onli:[1,2],openrpa52zzz:3,openrpa:2,openrparobotdaemon:2,oper:[1,3],option:[1,2],orc:2,orchestr:[2,3,7],orchestratorrestart:1,orchestratorsessionsav:1,orchestratorstart:2,order:0,oscmd:1,oscredentialsverifi:1,osfilebinarydatabase64strcr:1,osfiletextdatastrcr:1,out:1,output:2,outstr:1,overwrit:2,own:0,packag:[3,4],page:[1,2],pai:[0,3],panel:[1,2,3],paramet:[0,1,2,4,5],pass:[1,2],password:2,path:[1,2,3],pdb:2,per:3,period:2,phone:0,pipupgrad:2,pixel:2,plu:1,port:2,post:[1,2],previou:1,print:3,process:[0,1,2,6],processisstart:1,processlistget:1,processnam:1,processor:[1,2,7],processoractivityitemappend:1,processoractivityitemcr:1,processoraliasdefcr:1,processoraliasdefupd:1,processordict:2,processstart:[1,2],processstartifturnedoff:2,processstop:[1,2],program:2,project:0,protocol:0,psutil:3,pull:2,pyopenrpa:[0,2,3,6],pyopenrpadict:[2,3],pyrobot_cp:3,python:[0,1,2,4],pythonstart:1,queue:[0,2],queuelist:2,r01:2,r01_integrationorderout:2,r01_orchestratortorobot:2,rdp:[0,1,2],rdpactiv:2,rdpconfigurationdict:2,rdpkeydict:[2,3],rdpkeystr:2,rdplist:[1,2],rdpsession:1,rdpsessioncmdrun:1,rdpsessionconnect:[1,2],rdpsessiondisconnect:[1,2],rdpsessiondublicatesresolv:1,rdpsessionfilereciev:2,rdpsessionfilesend:2,rdpsessionfilestoredreciev:1,rdpsessionfilestoredsend:1,rdpsessionkei:2,rdpsessionkeystr:2,rdpsessionlogoff:[1,2],rdpsessionmonitorstop:1,rdpsessionprocessstart:2,rdpsessionprocessstartifnotrun:1,rdpsessionprocessstop:1,rdpsessionreconnect:[1,2],rdpsessionresponsibilitycheck:1,rdptemplatecr:1,read:2,receiv:1,reciev:2,reconnect:1,reconnectbool:2,reestr_otgruzok:2,refer:7,refresh:2,refreshsecond:2,regener:1,rel:[1,2,3],rememb:2,remot:2,renderfunct:2,renderrobotr01:2,report:2,reqir:0,request:[1,2],requesttimeoutsecfloat:2,requir:1,resolut:2,respons:[1,2],responsecontenttyp:2,responsedefrequestglob:2,responsefilepath:2,responsefolderpath:2,responsibilitycheckintervalsec:2,restart:[1,2],restartorchestr:2,restartorchestratorbool:[2,3],restartorchestratorgitpullbool:[2,3],restartpcbool:[2,3],restructuredtext:5,result:[1,2],returnbool:2,robot:[0,1,2,3,7],robot_r01:2,robot_r01_help:2,robotlist:2,robotrdpact:[1,2],rolehierarchyalloweddict:2,root:2,row:2,rpa:2,rst:5,ruledomainuserdict:2,rulemethodmatchurlbeforelist:2,run:[1,2,3],sad:1,safe:1,save:1,schedul:0,scheduleractivitytimeaddweekli:1,schedulerdict:2,scopesrcul:2,screen:2,screenshot:2,screenshotviewerbool:[2,3],script:0,search:1,sec:2,second:2,see:[1,2,3],selector:[4,5],send:[1,2],sent:1,sequenc:0,server:[0,2],serverdict:2,serverset:2,sesion:2,session:[1,2],sessionguidstr:2,sessionhex:2,sessionisignoredbool:2,sessioniswindowexistbool:2,sessioniswindowresponsiblebool:2,set:[1,2,3,7],set_trac:2,setformatt:2,setlevel:2,settingstempl:[0,3],settingsupd:3,setup:2,sever:0,share:1,shareddrivelist:2,shell:1,should:2,show:2,side:[1,2],singl:0,singleton:1,socket:0,some:[0,1,2],sourc:[0,1,3,4,5],sourceforg:5,space:0,special:2,sphinx:[0,1],standart:2,start:[1,2,7],statu:1,stdout:[2,3],stop:1,storag:2,store:2,str:[0,1,2],stream:1,streamhandl:2,strftime:2,string:1,struct:2,structur:[0,2],studio:[0,6,7],success:1,successfulli:1,successufulli:1,supertoken:[1,3],superus:3,supetoken:1,support:[0,3],symbol:0,sync:0,sys:[2,3],tablet:0,task:1,technic:[0,2],technicalsessionguidcach:2,templat:[1,3,7],test2:2,test:[1,2,3],testcontrolpanelkei:2,testdef:1,testdefalia:1,testrdp:2,text:1,than:0,thi:[1,2],thread:[0,2],threadidint:2,time:[1,2],timehh:2,titl:5,todo:1,token:1,tokendatetim:2,too:2,tool:0,track:1,transmiss:1,transmit:[0,1],trigger:2,ttt:[0,2],turn:2,turpl:0,type:[1,2,3],uac:1,uackeylistcheck:1,uacsupertokenupd:[1,3],uacupd:[1,3],uidesktop:[4,7],uio:[4,5],uioselector_get_uio:5,uioselector_get_uiolist:[4,5],univers:0,updat:[1,2],upper:2,url:[1,2],url_:2,urllist:2,usag:1,use:[0,1,2],used:1,user:[0,1,2,3],useradstr:2,usernam:[1,2],usernameupperstr:1,userupperstr:2,using:1,utf:1,util:2,valu:1,variant:1,verifi:1,version:3,versioncheck:3,versionstr:2,viewer:2,virtual:2,wai:[1,3],want:[0,2],warn:3,web:[0,1,2],webcpupd:1,weburlconnectdef:1,weburlconnectfil:1,weburlconnectfold:1,webuserinfoget:1,webuserissupertoken:1,webuseruachierarchyget:1,weekdai:2,weekdaylist:2,weekli:1,when:[0,1,2,3],where:1,which:[0,1,2],who:2,why:0,width:2,window:[1,2],without:[1,2],work:[1,2],workingdirectorypathstr:2,write:0,xlsx:2,you:[0,1,2]},titles:["1. Description","2. Defs","3. gSettings Template","4. How to start","Description","2. Defs","Description","Welcome to pyOpenRPA\u2019s documentation!"],titleterms:{__orchestrator__:1,architectur:0,compon:0,concept:0,configur:0,def:[1,5],descript:[0,4,6],dict:0,document:7,global:0,gset:2,how:[0,3],orchestr:[0,1],processor:0,pyopenrpa:[1,4,5,7],refer:[0,1,5],robot:[4,5],set:0,start:3,templat:2,uidesktop:5,welcom:7}})
\ No newline at end of file
+Search.setIndex({docnames:["Orchestrator/01_Orchestrator","Orchestrator/02_Defs","Orchestrator/03_gSettingsTemplate","Orchestrator/04_HowToStart","Robot/01_Robot","Robot/02_Defs","Studio/Studio","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Orchestrator\\01_Orchestrator.rst","Orchestrator\\02_Defs.rst","Orchestrator\\03_gSettingsTemplate.rst","Orchestrator\\04_HowToStart.rst","Robot\\01_Robot.rst","Robot\\02_Defs.rst","Studio\\Studio.rst","index.rst"],objects:{"pyOpenRPA.Orchestrator":{__Orchestrator__:[1,0,0,"-"]},"pyOpenRPA.Orchestrator.__Orchestrator__":{AgentActivityItemAdd:[1,1,1,""],AgentOSCMD:[1,1,1,""],AgentOSFileBinaryDataBase64StrCreate:[1,1,1,""],AgentOSFileBinaryDataBytesCreate:[1,1,1,""],AgentOSFileTextDataStrCreate:[1,1,1,""],GSettingsAutocleaner:[1,1,1,""],GSettingsKeyListValueAppend:[1,1,1,""],GSettingsKeyListValueGet:[1,1,1,""],GSettingsKeyListValueOperatorPlus:[1,1,1,""],GSettingsKeyListValueSet:[1,1,1,""],OSCMD:[1,1,1,""],OSCredentialsVerify:[1,1,1,""],OrchestratorRestart:[1,1,1,""],OrchestratorSessionSave:[1,1,1,""],ProcessIsStarted:[1,1,1,""],ProcessListGet:[1,1,1,""],ProcessStart:[1,1,1,""],ProcessStop:[1,1,1,""],ProcessorActivityItemAppend:[1,1,1,""],ProcessorActivityItemCreate:[1,1,1,""],ProcessorAliasDefCreate:[1,1,1,""],ProcessorAliasDefUpdate:[1,1,1,""],PythonStart:[1,1,1,""],RDPSessionCMDRun:[1,1,1,""],RDPSessionConnect:[1,1,1,""],RDPSessionDisconnect:[1,1,1,""],RDPSessionDublicatesResolve:[1,1,1,""],RDPSessionFileStoredRecieve:[1,1,1,""],RDPSessionFileStoredSend:[1,1,1,""],RDPSessionLogoff:[1,1,1,""],RDPSessionMonitorStop:[1,1,1,""],RDPSessionProcessStartIfNotRunning:[1,1,1,""],RDPSessionProcessStop:[1,1,1,""],RDPSessionReconnect:[1,1,1,""],RDPSessionResponsibilityCheck:[1,1,1,""],RDPTemplateCreate:[1,1,1,""],SchedulerActivityTimeAddWeekly:[1,1,1,""],UACKeyListCheck:[1,1,1,""],UACSuperTokenUpdate:[1,1,1,""],UACUpdate:[1,1,1,""],WebCPUpdate:[1,1,1,""],WebURLConnectDef:[1,1,1,""],WebURLConnectFile:[1,1,1,""],WebURLConnectFolder:[1,1,1,""],WebUserInfoGet:[1,1,1,""],WebUserIsSuperToken:[1,1,1,""],WebUserUACHierarchyGet:[1,1,1,""]},"pyOpenRPA.Robot":{UIDesktop:[5,0,0,"-"]},"pyOpenRPA.Robot.UIDesktop":{UIOSelector_Get_UIOList:[5,1,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"0643":3,"100":2,"1050":[1,2],"120":2,"127":1,"1680":[1,2],"1680x1050":2,"1992":3,"222":[0,2],"300":2,"3389":[1,2],"3600":2,"412":1,"600":2,"640x480":2,"77767775":1,"8081":2,"\u0432":[4,5],"\u0432\u0445\u043e\u0434\u043d\u043e\u0439":[4,5],"\u0432\u044b\u043a\u0438\u043d\u0443\u0442\u044c":[4,5],"\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c":[4,5],"\u0434\u0435\u043c\u043e\u043d\u0430":2,"\u0434\u0435\u043c\u043e\u043d\u0443":2,"\u043a":[2,4,5],"\u043a\u043e\u043d\u043d\u0435\u043a\u0442":[4,5],"\u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443":2,"\u043b\u043e\u0433\u0433\u0435\u0440\u0430":2,"\u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f":2,"\u043c\u043e\u0436\u043d\u043e":2,"\u043d\u0435":[4,5],"\u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438":[4,5],"\u043e\u0448\u0438\u0431\u043a\u0443":[4,5],"\u043f\u043e":2,"\u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430":2,"\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f":2,"\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c":[4,5],"\u043f\u043e\u0440\u0442":2,"\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443":[4,5],"\u043f\u0443\u0441\u0442\u043e\u0433\u043e":[4,5],"\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435":2,"\u0441\u0435\u0440\u0432\u0435\u0440\u0430":2,"\u0441\u0435\u0442\u0435\u0432\u043e\u0435":2,"\u0441\u043b\u0443\u0447\u0430\u0435":[4,5],"\u0441\u043e\u0437\u0434\u0430\u0442\u044c":2,"\u0441\u043f\u0438\u0441\u043a\u0430":[4,5],"\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f":[4,5],"\u0444\u0430\u0439\u043b":2,"\u0444\u043b\u0430\u0433":[4,5],"\u0447\u0442\u043e":[4,5],"\u044d\u043b\u0435\u043c\u0435\u043d\u0442":[4,5],"byte":1,"case":[0,2],"default":[1,2],"float":[0,2],"function":[1,2,5],"import":[0,1,2,3,5],"int":0,"new":[0,1,2,3],"return":[1,2,4,5],"true":[1,2,3,4,5],"try":[1,3],"var":1,Abs:2,For:3,Has:2,The:0,USe:2,Use:[1,3],Will:[1,2],__agentdictitemcreate__:2,__create__:2,__main__:3,__name__:3,__orchestrator__:7,__uacclientadmincreate__:[2,3],_sessionlast_rdplist:1,a2o:1,about:[0,1,2],absolut:[1,2,3],abspath:3,access:[1,2,3],accessus:2,activ:[0,1,2],activitydict:2,activityitem:1,activityitemdict:1,activitylist:2,activitylistappendprocessorqueuebool:2,activitylistexecut:1,activitylistexecutebool:2,activitytimelist:2,actual:1,add:[1,2,3],addhandl:2,address:2,admindict:[2,3],administr:1,after:[0,2,3],agent:1,agentactivityitemadd:1,agentdict:[1,2],agentkeydict:[2,3],agentkeystr:2,agentoscmd:1,agentosfilebinarydatabase64strcr:1,agentosfilebinarydatabytescr:1,agentosfiletextdatastrcr:1,algorithm:0,algorythm:[0,2],alia:[0,1,2],aliasdefdict:[0,1,2],all:[0,1,2,3],allow:[1,2,3],alreadi:1,ani:[0,1],anoth:1,append:[0,1,2],appli:[0,2],applic:[0,1,2],architectur:7,archiv:2,arg:[0,1,2],argdict:[0,1,2],arggset:[0,1,2],arglist:[0,1,2],arglogg:[0,1,2],argument:[1,2],argvaluestr:1,asctim:2,associ:1,async:0,asynchonu:0,attent:[0,1,3],attribut:[0,2],authent:2,authentif:1,authtoken:2,authtokensdict:2,auto:1,autoclean:[0,2],automat:[0,2],avail:2,b4ff:3,backward:1,base64:1,base:[0,1],basic:[0,2,3],becaus:[0,1],been:[1,2],befor:2,beginwith:[1,2],below:[0,3],between:[0,1,2,3],binari:1,block:2,bool:[0,1,2],browser:2,build:3,busi:0,button:2,cach:2,call:[0,1,3],can:[0,1,2],cant:0,central:0,chang:2,check:[1,2,3],checkintervalsecfloat:2,checktasknam:2,cleaner:1,clear:2,client:[1,2],clientrequesthandl:2,clipboard:1,close:[1,2],cmd:[1,2],cmdinputbool:[2,3],code:0,collect:2,comma:0,command:[1,2],commun:1,compat:1,compex:0,complet:2,complex:0,compon:7,concept:7,config:3,configur:[2,3,7],connect:[1,2],connectioncountint:2,connectionfirstqueueitemcountint:2,consist:0,consol:2,consolid:0,contain:[1,2],content:[1,2],control:[0,1,2,3],controlpanel:[2,3],controlpaneldict:2,controlpanelkeyallowedlist:2,controlpanelrefreshintervalsecfloat:2,cooki:2,core:0,cp_test:3,cp_versioncheck:3,cpdict:2,cpkei:2,cpkeydict:[2,3],cpkeystr:2,creat:[0,1,2,3],credenti:1,crosscheck:1,current:[0,1,2,3],custom:0,data:2,datasetlast:2,datetim:[2,3],decentr:0,def:[0,2,3,7],defaliastest:[0,2],defnamestr:2,defsettingsupdatepathlist:2,del:3,deprec:2,depthbit:2,descript:[2,7],desktop:[0,2,3],desktopus:1,detail:0,detect:2,determin:1,dev:1,develop:1,dict:[1,2,7],dictionari:[0,2],differ:0,disconnect:[1,2],docutil:[1,5],doen:1,domain:2,domainadstr:2,domainupperstr:1,don:1,dont:[1,2],drive:[1,2],dsd:[0,2],dublic:1,dump:2,dumploglist:2,dumploglistcountint:2,dumploglisthashstr:2,dumploglistrefreshintervalsecfloat:2,durat:2,els:[2,3],empti:2,encod:1,end:0,env:2,environ:1,equal:[1,2],equalcas:[1,2],everi:[1,2],exampl:[0,1,2,3,5],except:[1,3],exe:[1,2,5],execut:[0,1,2,6],executebool:2,exist:[1,2],expir:1,extra:1,fals:[1,2],featur:[0,1,2],field:[1,2],file:[1,2],filehandl:2,filemanag:2,filemod:2,fileurl:2,fileurlfilepathdict:2,fileurlfilepathdict_help:2,fill:[1,2],find:0,flag:[1,2],flagaccess:2,flagaccessdefrequestglobalauthent:2,flagcredentialsask:2,flagdonotexpir:2,flagforc:2,flagsessionisact:2,flaguseallmonitor:2,flexibl:0,folder:[1,3],forc:[1,2],forget:2,formatt:2,from:[0,1,2,3,5],full:2,fullscreen:2,fullscreenbool:2,fullscreenrdpsessionkeystr:2,functional:3,gener:[1,2],get:[1,2,4,5],getlogg:2,git:[1,2],give:[1,2],given:1,global:[1,7],goe:0,good:0,gset:[0,1,3,7],gsettingsautoclean:1,gsettingsdict:1,gsettingskeylistvalueappend:1,gsettingskeylistvalueget:1,gsettingskeylistvalueoperatorplu:1,gsettingskeylistvalueset:1,gui:[0,1],guid:2,gurbag:2,handl:2,handler:2,hard:2,has:[0,1],have:1,height:2,help:1,hex:2,hierarchi:1,host:[1,2],hostnameupperstr:2,how:7,html:[1,5],htmlrenderdef:2,http:[0,1,2,5],human:1,ignor:[1,2],ignorebool:2,imaslov:3,inactivityitemdict:1,inactivitylist:1,inadisdefaultbool:[1,3],inadloginstr:[1,3],inadstr:[1,3],inaliasstr:1,inarg1str:1,inargdict:1,inarggset:1,inarggsettingsstr:1,inarglist:1,inargloggerstr:1,inbreaktriggerprocesswoexelist:1,incloseforcebool:1,incmdstr:1,incontenttypestr:1,incpkeystr:1,indef:1,indefnamestr:1,indepthbitint:1,index:[0,1,2],indict:2,indomainstr:1,inel:[4,5],inencodingstr:1,infiledatabase64str:1,infiledatabyt:1,infiledatastr:1,infilepathstr:1,inflagforceclosebool:1,inflaggetabspathbool:1,inflagraiseexcept:[4,5],info:[1,2,3],infolderpathstr:1,inform:0,ingset:[0,1,3],ingsettingsclientdict:2,inhashkeystr:2,inheightpxint:1,inhostfilepathstr:1,inhostnamestr:1,inhoststr:[1,2],inhtmlrenderdef:1,init:[0,1,2,3],initdatetim:2,injsinitgeneratordef:1,injsongeneratordef:1,inkeylist:1,inkeystr:2,inlogg:[1,2],inloginstr:[1,2],inmatchtypestr:1,inmethodstr:1,inmodestr:[0,1,2,3],inmodulepathstr:1,inpasswordstr:[1,2],inpathstr:1,inportint:1,inportstr:[1,2],inprocessnamewexestr:1,inprocessnamewoexelist:1,inprocessnamewoexestr:1,input:2,inrdpfilepathstr:1,inrdpsessionkeystr:[1,2],inrdptemplatedict:1,inrequest:1,inrolehierarchyalloweddict:[1,3],inrolekeylist:1,inrowcountint:2,inrunasyncbool:1,insert:3,inshareddrivelist:1,inspecificationlist:[4,5],instanc:0,instopprocessnamewoexestr:1,insupertokenstr:[1,3],interact:0,interest:1,interfac:0,interpret:0,interv:[1,2],intervalsecfloat:2,intimehhmmstr:1,inurllist:[1,3],inurlstr:1,inusebothmonitorbool:1,inusernamestr:1,inuserstr:1,invalu:1,inweekdaylist:1,inwidthpxint:1,islistenbool:2,isresponsiblebool:1,item:[0,1],iter:2,join:3,jsinitgeneratordef:2,json:[0,1,2],jsongeneratordef:2,keep:0,kei:1,keystr:2,kill:1,know:0,kwarg:0,lactivityitem:1,laliasstr:1,last:2,left:0,len:2,levelnam:2,lifetim:2,lifetimerequestsecfloat:2,lifetimesecfloat:2,light:0,like:0,link:[0,1,2],list:[0,1,2,4,5],listen:1,listenport:2,listenport_:2,listenurllist:2,listread:2,load:2,local:[1,2],localhost:2,log:[1,2,3],logger:[2,3],loggerdumploghandleradd:2,loggerhandlerdumploglist:2,login:[1,2,3],logoff:[1,2],logviewerbool:[2,3],look:[0,1,2],lookmachinescreenshot:2,lowercas:2,lprocessisstartedbool:1,lprocesslist:1,lpyopenrpasourcefolderpathstr:3,lresult:2,lresultdict:2,luacclientdict:3,machin:[1,2,3],machina:2,main:[0,2,3],makedir:2,mani:0,matchtyp:2,max:2,mechan:0,mega:0,merg:1,messag:2,method:2,methodmatchurl:2,methodmatchurlbeforelist:2,mhandlerdumploglist:2,mmstr:2,modul:[0,1,2,3],more:0,mrobotlogg:2,mrobotloggerfh:2,mrobotloggerformatt:2,must:2,name:[0,1,2,3],namewoexestr:1,namewoexeupperstr:1,need:[0,1,2],nest:1,net:[1,5],never:1,newkeydict:1,newkeylist:1,newvalu:1,none:[0,1,2,4,5],notepad:[1,2,5],noth:1,nothingbool:2,now:[1,2],object:[0,1,2],occupi:1,octet:1,off:2,old:[1,2,3],one:[2,3],onli:[1,2],openrpa52zzz:3,openrpa:2,openrparobotdaemon:2,oper:[1,3],option:2,orc:2,orchestr:[2,3,7],orchestratorrestart:1,orchestratorsessionsav:1,orchestratorstart:2,order:0,oscmd:1,oscredentialsverifi:1,osfilebinarydatabase64strcr:1,osfiletextdatastrcr:1,out:1,output:2,outstr:1,overwrit:2,own:0,packag:[3,4],page:[1,2],pai:[0,3],panel:[1,2,3],paramet:[0,1,2,4,5],pass:[1,2],password:2,path:[1,2,3],pdb:2,per:3,period:2,phone:0,pid:1,pipupgrad:2,pixel:2,plu:1,port:2,post:[1,2],postfix:1,previou:1,print:3,process:[0,1,2,6],processdetaillist:1,processisstart:1,processlistget:1,processnam:1,processor:[1,2,7],processoractivityitemappend:1,processoractivityitemcr:1,processoraliasdefcr:1,processoraliasdefupd:1,processordict:2,processstart:[1,2],processstartifturnedoff:2,processstop:[1,2],processwoexelist:1,processwoexeupperlist:1,program:2,project:0,protocol:0,psutil:3,pull:2,pyopenrpa:[0,2,3,6],pyopenrpadict:[2,3],pyrobot_cp:3,python:[0,1,2,4],pythonstart:1,queue:[0,1,2],queuelist:2,r01:2,r01_integrationorderout:2,r01_orchestratortorobot:2,rais:1,rdp:[0,1,2],rdpactiv:2,rdpconfigurationdict:2,rdpkeydict:[2,3],rdpkeystr:2,rdplist:[1,2],rdpsession:1,rdpsessioncmdrun:1,rdpsessionconnect:[1,2],rdpsessiondisconnect:[1,2],rdpsessiondublicatesresolv:1,rdpsessionfilereciev:2,rdpsessionfilesend:2,rdpsessionfilestoredreciev:1,rdpsessionfilestoredsend:1,rdpsessionkei:2,rdpsessionkeystr:2,rdpsessionlogoff:[1,2],rdpsessionmonitorstop:1,rdpsessionprocessstart:2,rdpsessionprocessstartifnotrun:1,rdpsessionprocessstop:1,rdpsessionreconnect:[1,2],rdpsessionresponsibilitycheck:1,rdptemplatecr:1,read:2,receiv:1,reciev:2,reconnect:1,reconnectbool:2,reestr_otgruzok:2,refer:7,refresh:2,refreshsecond:2,regener:1,rel:[1,2,3],rememb:2,remot:2,renderfunct:2,renderrobotr01:2,report:2,reqir:0,request:[1,2],requesttimeoutsecfloat:2,requir:1,resolut:2,respons:[1,2],responsecontenttyp:2,responsedefrequestglob:2,responsefilepath:2,responsefolderpath:2,responsibilitycheckintervalsec:2,restart:[1,2],restartorchestr:2,restartorchestratorbool:[2,3],restartorchestratorgitpullbool:[2,3],restartpcbool:[2,3],restructuredtext:[1,5],result:[1,2],returnbool:2,robot:[0,1,2,3,7],robot_r01:2,robot_r01_help:2,robotlist:2,robotrdpact:[1,2],rolehierarchyalloweddict:2,root:2,row:2,rpa:2,rst:[1,5],ruledomainuserdict:2,rulemethodmatchurlbeforelist:2,run:[1,2,3],sad:1,safe:1,save:1,schedul:0,scheduleractivitytimeaddweekli:1,schedulerdict:2,scopesrcul:2,screen:2,screenshot:2,screenshotviewerbool:[2,3],script:0,search:1,sec:2,second:2,see:[1,2,3],selector:[4,5],send:[1,2],sent:1,sequenc:0,server:[0,2],serverdict:2,serverset:2,sesion:2,session:[1,2],sessionguidstr:2,sessionhex:2,sessionisignoredbool:2,sessioniswindowexistbool:2,sessioniswindowresponsiblebool:2,set:[1,2,3,7],set_trac:2,setformatt:2,setlevel:2,settingstempl:[0,3],settingsupd:3,setup:2,sever:0,share:1,shareddrivelist:2,shell:1,should:2,show:2,side:[1,2],signal:1,singl:0,singleton:1,socket:0,some:[0,1,2],sourc:[0,1,3,4,5],sourceforg:[1,5],space:0,special:2,sphinx:0,standart:2,start:[1,2,7],statu:1,stdout:[2,3],stop:1,storag:2,store:2,str:[0,1,2],stream:1,streamhandl:2,strftime:2,string:1,struct:2,structur:[0,2],studio:[0,6,7],success:1,successfulli:1,successufulli:1,supertoken:[1,3],superus:3,supetoken:1,support:[0,3],symbol:0,sync:0,sys:[2,3],tablet:0,technic:[0,2],technicalsessionguidcach:2,templat:[1,3,7],test2:2,test:[1,2,3],testcontrolpanelkei:2,testdef:1,testdefalia:1,testrdp:2,text:1,than:0,thi:[1,2],thread:[0,2],threadidint:2,time:[1,2],timehh:2,titl:5,todo:1,token:1,tokendatetim:2,too:2,tool:0,track:1,transmiss:1,transmit:[0,1],trigger:[1,2],ttt:[0,2],turn:2,turpl:0,txt:1,type:[1,2,3],uac:1,uackeylistcheck:1,uacsupertokenupd:[1,3],uacupd:[1,3],uidesktop:[4,7],uio:[4,5],uioselector_get_uio:5,uioselector_get_uiolist:[4,5],univers:0,updat:[1,2],upper:2,url:[1,2],url_:2,urllist:2,usag:1,use:[0,1,2],used:1,user:[0,1,2,3],user_99:1,useradstr:2,usernam:[1,2],usernameupperstr:1,userupperstr:2,using:1,utf:1,util:2,valu:1,variant:1,verifi:1,version:3,versioncheck:3,versionstr:2,viewer:2,virtual:2,vms:1,wai:[1,3],want:[0,2],warn:3,web:[0,1,2],webcpupd:1,weburlconnectdef:1,weburlconnectfil:1,weburlconnectfold:1,webuserinfoget:1,webuserissupertoken:1,webuseruachierarchyget:1,weekdai:2,weekdaylist:2,weekli:1,when:[0,1,2,3],where:1,which:[0,1,2],who:2,why:0,width:2,win:1,window:[1,2],without:[1,2],work:[1,2],workingdirectorypathstr:2,write:0,xlsx:2,you:[0,1,2]},titles:["1. Description","2. Defs","3. gSettings Template","4. How to start","1. Description","2. Defs","Description","Welcome to pyOpenRPA\u2019s documentation!"],titleterms:{__orchestrator__:1,architectur:0,compon:0,concept:0,configur:0,def:[1,5],descript:[0,4,6],dict:0,document:7,global:0,gset:2,how:[0,3],orchestr:[0,1],processor:0,pyopenrpa:[1,4,5,7],refer:[0,1,5],robot:[4,5],set:0,start:3,templat:2,uidesktop:5,welcom:7}})
\ No newline at end of file
diff --git a/Wiki/ENG_Guide/markdown/Orchestrator/02_Defs.md b/Wiki/ENG_Guide/markdown/Orchestrator/02_Defs.md
index 9070eefd..4e1488e7 100644
--- a/Wiki/ENG_Guide/markdown/Orchestrator/02_Defs.md
+++ b/Wiki/ENG_Guide/markdown/Orchestrator/02_Defs.md
@@ -91,29 +91,29 @@ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True)
|
| `ProcessListGet`([inProcessNameWOExeList])
- | Check activity of the list of processes
+ | Return process list on the orchestrator machine.
- |
+ |
| `ProcessStart`(inPathStr, inArgList[, …])
- | Start process locally [optional: if task name is not started]
+ | Start process locally.
- |
+ |
| `ProcessStop`(inProcessNameWOExeStr, …[, …])
- | Stop process
+ | Stop process on the orchestrator machine.
- |
-| `ProcessorActivityItemAppend`(inGSettings, inDef)
+ |
+| `ProcessorActivityItemAppend`(inGSettings[, …])
- | Add Activity item in Processor list
+ | Create and add activity item in processor queue.
- |
+ |
| `ProcessorActivityItemCreate`(inDef[, …])
- | Create ActivityItem
+ | Create activity item.
- |
+ |
| `ProcessorAliasDefCreate`(inGSettings, inDef)
| Create alias for def (can be used in ActivityItem in field Def) !WHEN DEF ALIAS IS REQUIRED! - Def alias is required when you try to call Python def from the Orchestrator WEB side (because you can’t transmit Python def object out of the Python environment)
@@ -602,21 +602,37 @@ Orchestrator session save in file _SessionLast_RDPList.json (encoding = “utf-8
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessIsStarted(inProcessNameWOExeStr)
Check if there is any running process that contains the given name processName.
+```
+# USAGE
+from pyOpenRPA import Orchestrator
+
+lProcessIsStartedBool = Orchestrator.ProcessIsStarted(inProcessNameWOExeStr = "notepad")
+# lProcessIsStartedBool is True - notepad.exe is running on the Orchestrator machine
+```
+
* **Parameters**
- **inProcessNameWOExeStr** –
+ **inProcessNameWOExeStr** – Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
* **Returns**
- True - process is running; False - process is not running
+ True - process is running on the orchestrator machine; False - process is not running on the orchestrator machine
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessListGet(inProcessNameWOExeList=None)
-Check activity of the list of processes
+Return process list on the orchestrator machine. You can determine the list of the processes you are interested - def will return the list about it.
+
+```
+# USAGE
+from pyOpenRPA import Orchestrator
+
+lProcessList = Orchestrator.ProcessListGet()
+# Return the list of the process on the machine. !ATTENTION! RUn orchestrator as administrator to get all process list on the machine.
+```
* **Parameters**
@@ -627,51 +643,131 @@ Check activity of the list of processes
* **Returns**
- TODO FILL THE RESULT DICT
+ {
+
+
+
+“ProcessWOExeList”: [“notepad”,”…”],
+“ProcessWOExeUpperList”: [“NOTEPAD”,”…”],
+“ProcessDetailList”: [
+> {
+
+> ‘pid’: 412,
+> ‘username’: “DESKTOPUSER”,
+> ‘name’: ‘notepad.exe’,
+> ‘vms’: 13.77767775,
+> ‘NameWOExeUpperStr’: ‘NOTEPAD’,
+> ‘NameWOExeStr’: “‘notepad’”},
+
+> {…}]
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessStart(inPathStr, inArgList, inStopProcessNameWOExeStr=None)
-Start process locally [optional: if task name is not started]
+Start process locally. Extra feature: Use inStopProcessNameWOExeStr to stop the execution if current process is running.
+
+```
+# USAGE
+from pyOpenRPA import Orchestrator
+
+Orchestrator.ProcessStart(
+ inPathStr = "notepad"
+ inArgList = []
+ inStopProcessNameWOExeStr = "notepad")
+# notepad.exe will be started if no notepad.exe is active on the machine
+```
* **Parameters**
- * **inPathStr** –
+ * **inPathStr** – Command to send in CMD
- * **inArgList** –
+ * **inArgList** – List of the arguments for the CMD command. Example: [“test.txt”]
- * **inStopProcessNameWOExeStr** –
+ * **inStopProcessNameWOExeStr** – Trigger: stop execution if process is running. Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
+
+
+
+* **Returns**
+
+ None - nothing is returned. If process will not start -exception will be raised
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessStop(inProcessNameWOExeStr, inCloseForceBool, inUserNameStr='%username%')
-Stop process
+Stop process on the orchestrator machine. You can set user session on the machine and set flag about to force close process.
+
+```
+# USAGE
+from pyOpenRPA import Orchestrator
+
+Orchestrator.ProcessStop(
+ inProcessNameWOExeStr = "notepad"
+ inCloseForceBool = True
+ inUserNameStr = "USER_99")
+# Will close process "notepad.exe" on the user session "USER_99" (!ATTENTION! if process not exists no exceptions will be raised)
+```
* **Parameters**
- * **inProcessNameWOExeStr** –
+ * **inProcessNameWOExeStr** – Process name WithOut (WO) ‘.exe’ postfix. Example: “notepad” (not “notepad.exe”)
- * **inCloseForceBool** –
+ * **inCloseForceBool** – True - do force close. False - send signal to safe close (!ATTENTION! - Safe close works only in orchestrator session. Win OS doens’t allow to send safe close signal between GUI sessions)
- * **inUserNameStr** –
+ * **inUserNameStr** – User name which is has current process to close. Default value is close process on the Orchestrator session
* **Returns**
-
+ None
-### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorActivityItemAppend(inGSettings, inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None)
-Add Activity item in Processor list
+
+### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorActivityItemAppend(inGSettings, inDef=None, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None, inActivityItemDict=None)
+Create and add activity item in processor queue.
+
+```
+# USAGE
+from pyOpenRPA import Orchestrator
+
+# EXAMPLE 1
+def TestDef(inArg1Str, inGSettings, inLogger):
+ pass
+lActivityItem = Orchestrator.ProcessorActivityItemAppend(
+ inGSettings = gSettingsDict,
+ inDef = TestDef,
+ inArgList=[],
+ inArgDict={"inArg1Str": "ArgValueStr"},
+ inArgGSettingsStr = "inGSettings",
+ inArgLoggerStr = "inLogger")
+# Activity have been already append in the processor queue
+
+# EXAMPLE 2
+def TestDef(inArg1Str):
+ pass
+Orchestrator.ProcessorAliasDefUpdate(
+ inGSettings = gSettings,
+ inDef = TestDef,
+ inAliasStr="TestDefAlias")
+lActivityItem = Orchestrator.ProcessorActivityItemCreate(
+ inDef = "TestDefAlias",
+ inArgList=[],
+ inArgDict={"inArg1Str": "ArgValueStr"},
+ inArgGSettingsStr = None,
+ inArgLoggerStr = None)
+Orchestrator.ProcessorActivityItemAppend(
+ inGSettings = gSettingsDict,
+ inActivityItemDict = lActivityItem)
+# Activity have been already append in the processor queue
+```
* **Parameters**
@@ -680,24 +776,27 @@ Add Activity item in Processor list
* **inGSettings** – Global settings dict (singleton)
- * **inDef** –
+ * **inDef** – def link or def alias (look gSettings[“Processor”][“AliasDefDict”])
- * **inArgList** –
+ * **inArgList** – Args list for the Def
- * **inArgDict** –
+ * **inArgDict** – Args dict for the Def
+
+
+ * **inArgGSettingsStr** – Name of def argument of the GSettings dict
- * **inArgGSettingsStr** –
+ * **inArgLoggerStr** – Name of def argument of the logging object
- * **inArgLoggerStr** –
+ * **inActivityItemDict** – Fill if you already have ActivityItemDict (don’t fill inDef, inArgList, inArgDict, inArgGSettingsStr, inArgLoggerStr)
### pyOpenRPA.Orchestrator.__Orchestrator__.ProcessorActivityItemCreate(inDef, inArgList=None, inArgDict=None, inArgGSettingsStr=None, inArgLoggerStr=None)
-Create ActivityItem
+Create activity item. Activity item can be used as list item in ProcessorActivityItemAppend or in Processor.ActivityListExecute.
```
# USAGE
@@ -1467,8 +1566,4 @@ Return User UAC Hierarchy DICT Return {…}
## References
-
-
-```
-`Python-sphinx`_
-```
+[reStructuredText](http://docutils.sourceforge.net/rst.html)
diff --git a/Wiki/ENG_Guide/markdown/Robot/01_Robot.md b/Wiki/ENG_Guide/markdown/Robot/01_Robot.md
index 9ccdb6cb..ea9afd6c 100644
--- a/Wiki/ENG_Guide/markdown/Robot/01_Robot.md
+++ b/Wiki/ENG_Guide/markdown/Robot/01_Robot.md
@@ -1,4 +1,4 @@
-# Description
+# 1. Description
pyOpenRPA Robot is the python package.
diff --git a/Wiki/ENG_Guide/markdown/index.md b/Wiki/ENG_Guide/markdown/index.md
index 102b0e36..abd8feee 100644
--- a/Wiki/ENG_Guide/markdown/index.md
+++ b/Wiki/ENG_Guide/markdown/index.md
@@ -5,7 +5,7 @@ contain the root `toctree` directive. -->
# Welcome to pyOpenRPA’s documentation!
-* Description
+* 1. Description
* pyOpenRPA Robot