From 78770f20c08299a48ef0107ef1179341c86c086c Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Wed, 29 Jun 2022 02:11:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D1=81=D1=81=D0=B5=20(Or?= =?UTF-8?q?chestrator)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/GuideSphinx/Orchestrator/02_Defs.rst | 69 ++++--- Sources/GuideSphinx/index.rst | 35 ++-- .../Orchestrator/__Orchestrator__.py | 172 +++++++++--------- 3 files changed, 136 insertions(+), 140 deletions(-) diff --git a/Sources/GuideSphinx/Orchestrator/02_Defs.rst b/Sources/GuideSphinx/Orchestrator/02_Defs.rst index e9857c70..b0a0867b 100644 --- a/Sources/GuideSphinx/Orchestrator/02_Defs.rst +++ b/Sources/GuideSphinx/Orchestrator/02_Defs.rst @@ -1,66 +1,72 @@ #################################### -2. Defs +2. Функции #################################### +Раздел содержит всю необходимую информацию о функциях pyOpenRPA.Orchestrator + +При необходимости вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts` + ************************************************** pyOpenRPA.Orchestrator.__Orchestrator__ ************************************************** .. code-block:: python - # EXAMPLE 1 + # ПРИМЕР 1 (ОСНОВНОЙ) from pyOpenRPA import Orchestrator Orchestrator.OSCMD(inCMDStr = "git status", inRunAsyncBool=True) - # EXAMPLE 2 + # ПРИМЕР 2 (ВСПОМОГАТЕЛЬНЫЙ) from pyOpenRPA.Orchestrator import __Orchestrator__ __Orchestrator__.OSCMD(inCMDStr = "git status", inRunAsyncBool=True) -Group Agent... +Группа функций Agent... ###################### -Interaction between Orchestrator and pyOpenRPA.Agent daemon process, which can be deployed in another user session. +Взаимодействие между Оркестратором и Агентом, который развертнут на других графических сессиях, где будет происходить запуск робота. -Group GSettings... +Группа функций GSettings... ###################### -Basic defs to work with singleton gSettings. +Вспомогательные функции для работы с глобальным словарем настроек Оркестратора -Group Storage... +Группа функций Storage... ###################### -Defs to work with special locations in Orchestrator: Robot, User (TODO), User + Robot (TODO) +Функции для взаимодействия со специальным хранилищем переменных, предназначенного для хранения информации от роботов. + +!ВНИМАНИЕ! Данное хранилище сохраняется при перезагрузке Оркестратора из панели управления. -Group OS... +Группа функций OS... ###################### -Interaction with shell on the Orchestrator user session. +Функции взаимодействия с командной строкой на сессии, где запущен Оркестратор. -Group Process... +Группа функций Process... ###################### -Interaction with some process on the Orchestrator user session. +Запуск / остановка процессов на сессии Оркестратора. -Group Processor... +Группа функций Processor... ###################### -Work with Processor queue (see ...). +Функции взаимодействия с процессорной очередью. Если требуется выполнить синхронизацию нескольких разных задач, то можно их отправлять в процессорную очередь. -Group Python... +Группа функций Python... ###################### -Work with extra python modules. +Функции взаимодействия с Python модулями. -Group RDPSession... +Группа функций RDPSession... ###################### -Interaction with RDP session, where you can manage some robots. +Запуск, отключение, перезапуск, отправка CMD команд, раскрыть на весь экран на RDP сессию -Group Web... +Группа функций Web... ###################### -Manipulate the Orchestrator WEB side. +Управление веб-сервером Оркестратора. -Group UAC... +Группа функций UAC... ###################### -Manipulate the User Access Controls (actual for the Orchestrator WEB access for the business users) +Управление ролевой моделью доступа пользователей к панели управления Оркестратора. Актуально для подключения бизнес-пользователей. -Group Scheduler... +Группа функций Scheduler... ###################### -Work with activity scheduling. +Установка расписания на различные активности. .. automodule:: pyOpenRPA.Orchestrator.__Orchestrator__ @@ -74,15 +80,4 @@ pyOpenRPA.Orchestrator.Web.Basic .. automodule:: pyOpenRPA.Orchestrator.Web.Basic :members: - :autosummary: - - - -********** -References -********** - -`reStructuredText`_ - -.. target-notes:: -.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html + :autosummary: \ No newline at end of file diff --git a/Sources/GuideSphinx/index.rst b/Sources/GuideSphinx/index.rst index 59153ab3..b8483b06 100644 --- a/Sources/GuideSphinx/index.rst +++ b/Sources/GuideSphinx/index.rst @@ -56,7 +56,7 @@ pyOpenRPA - роботы помогут! Используя ПО pyOpenRPA Вы осознаете свою ответственность в случаях нарушения лицензионного законодательства и совершения неправомерных действий. -Подробнее про лицензирование: :ref:`_3.-Copyrights-&-Contacts`. +Подробнее про лицензирование: :ref:`3.-Copyrights-&-Contacts` ************************************************** О портале и программе @@ -67,17 +67,17 @@ pyOpenRPA - роботы помогут! Платформа pyOpenRPA является одной из самых производительных: скорость выполнения операций не уступает другим западным и Российским RPA аналогам. А в ряде случаев pyOpenRPA отрабатывает в 2 - 4 раза быстрее. -С 2019 года pyOpenRPA применяется в малом / среднем / крупном бизнесе для: +С 2019 года pyOpenRPA применяется в малом / среднем / крупном сегментах бизнеса для: -- отказа от западных RPA платформ -- аудита финансовой и ИТ функций -- прототипирования бизнес-процессов без изменения ИТ ландшафта -- оптимизации нагрузки на коллег из классической автоматизации (legacy / back / front) -- реализации автотестов выпускаемых программ +- отказа от западных RPA платформ; +- аудита финансовой и ИТ функций; +- прототипирования бизнес-процессов без изменения ИТ ландшафта; +- оптимизации нагрузки на коллег из классической автоматизации (legacy / back / front); +- реализации автотестов выпускаемых программ. -pyOpenRPA является программой с открытым исходным кодом. С исходными кодами можно ознакомиться по адресу: +pyOpenRPA является программой с открытым исходным кодом. С исходными кодами можно ознакомиться по адресу: https://gitlab.com/UnicodeLabs/OpenRPA -Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`_3.-Copyrights-&-Contacts`. +Если у вас останутся вопросы, то вы всегда можете обратиться в центр поддержки клиентов pyOpenRPA. Контакты: :ref:`3.-Copyrights-&-Contacts` pyOpenRPA - роботы помогут! @@ -155,14 +155,15 @@ pyOpenRPA - роботы помогут! ВЕРСИЯ |release| -ОС Windows 7+ / Server 2008+. -! ВНИМАНИЕ ! Требуется пакет KB2999226 если используется windows Vista/7/8/8.1/Server 2008/Server 2012 +! ВНИМАНИЕ ! Требуется пакет KB2999226 если используется windows Vista/7/8/8.1/Server 2008/Server 2012 https://support.microsoft.com/ru-ru/help/2999226 Использование компонента OpenCV: ОС Windows 7/8/8/10 (Windows Server только с 2016) В июле 2022 будет выпущен релиз pyOpenRPA, который будет работать на ОС семейства Linux (Ubuntu / Astra) -RAM 512+ Гб -HDD 2+ Гб -CPU 1+ ГГц + +- ОС Windows 7+ / Server 2008+. +- RAM 512+ Гб +- HDD 2+ Гб +- CPU 1+ ГГц ************************************************** Структура репозитория @@ -188,14 +189,14 @@ Wiki структура - RUS Портал документации в формате HTML `[|ОТКРЫТЬ GITLAB|] `_ - RUS Портал документации в формате MarkDown `[|ОТКРЫТЬ GITLAB|] `_ - RUS Портал документации в формате PDF `[|ОТКРЫТЬ GITLAB|] `_ -- RUS Практическое руководство по работе с Desktop UI `[|ОТКРЫТЬ HABR|] `_; `[|OPEN GITLAB|] `_ -- RUS Практическое руководство по работе с Web UI `[|ОТКРЫТЬ HABR|] `_; `[|OPEN GITLAB|] `_ +- RUS Практическое руководство по работе с Desktop UI `[|ОТКРЫТЬ HABR|] `_; `[|ОТКРЫТЬ GITLAB|] `_ +- RUS Практическое руководство по работе с Web UI `[|ОТКРЫТЬ HABR|] `_; `[|ОТКРЫТЬ GITLAB|] `_ - ENG портал документации в формате HTML `[|OPEN GITLAB|] `_ - ENG портал документации в формате MarkDown `[|OPEN GITLAB|] `_ - ENG портал документации в формате PDF `[|OPEN GITLAB|] `_ -:ref:`3.-Copyrights-&-Contacts`. +:ref:`3.-Copyrights-&-Contacts` ************************************************** ОГЛАВЛЕНИЕ diff --git a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py index 7b172531..367e4764 100644 --- a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py +++ b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py @@ -41,13 +41,13 @@ gSettingsDict = None def AgentActivityItemAdd(inHostNameStr, inUserStr, inActivityItemDict, inGSettings=None): """ - Add activity in AgentDict. Check if item is created + Добавить активность в словарь активностей выбранного Агента - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: Agent host name - :param inUserStr: User login, where agent is based - :param inActivityItemDict: ActivityItem - :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inActivityItemDict: Активность (ActivityItem). См. функцию ProcessorActivityitemCreate + :return: ГУИД (GUID) строка Активности (ActivityItem). Далее можно ожидать результат этой функции по ГУИД с помощью функции AgentActivityItemReturnGet """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -72,11 +72,11 @@ def AgentActivityItemAdd(inHostNameStr, inUserStr, inActivityItemDict, inGSettin def AgentActivityItemExists(inHostNameStr, inUserStr, inGUIDStr, inGSettings = None): """ - Check by GUID if ActivityItem has exists in request list. If exist - the result response has not been recieved from the agent + Выполнить проверку, что активность (ActivityItem) была отправлена на сторону Агента. - :param inGSettings: Global settings dict (singleton) - :param inGUIDStr: GUID String of the ActivityItem - :return: True - ActivityItem is exist in AgentDict ; False - else case + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inGUIDStr: ГУИД (GUID) активности (ActivityItem) + :return: True - Активность присутствует ; False - Активность еще не была отправлена на сторону Агента """ # Check if GUID is exists in dict - has been recieved inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -92,11 +92,11 @@ def AgentActivityItemExists(inHostNameStr, inUserStr, inGUIDStr, inGSettings = N def AgentActivityItemReturnExists(inGUIDStr, inGSettings = None): """ - Check by GUID if ActivityItem has been executed and result has come to the Orchestrator + Выполнить проверку, что активность (ActivityItem) была выполнена на стороне Агента и результат был получен на стороне Оркестратора. - :param inGSettings: Global settings dict (singleton) - :param inGUIDStr: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! - :return: True - result has been received from the Agent to orc; False - else case + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inGUIDStr: ГУИД (GUID) активности (ActivityItem) + :return: True - Активность присутствует ; False - Активность еще не была выполнена на стороне Агента """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -110,8 +110,8 @@ def AgentActivityItemReturnGet(inGUIDStr, inCheckIntervalSecFloat = 0.5, inGSett !ATTENTION! Use only after Orchestrator initialization! Before orchestrator init exception will be raised. - :param inGSettings: Global settings dict (singleton) - :param inGUIDStr: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inGUIDStr: ГУИД (GUID) активности (ActivityItem) :param inCheckIntervalSecFloat: Interval in sec of the check Activity Item result :return: Result of the ActivityItem executed on the Agent side anr transmitted to the Orchestrator. IMPORTANT! ONLY JSON ENABLED Types CAN BE TRANSMITTED TO ORCHESTRATOR! """ @@ -130,9 +130,9 @@ def AgentOSCMD(inHostNameStr, inUserStr, inCMDStr, inRunAsyncBool=True, inSendOu """ 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: Agent host name in upper case (example "RPA01", "RPA_99" and so on). Active agent session you can see on the orchestrator dashboard as Orchestrator admin - :param inUserStr: Agent user name in upper case (example "UserRPA"). Active agent session you can see on the orchestrator dashboard as Orchestrator admin + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inCMDStr: command to execute on the Agent session :param inRunAsyncBool: True - Agent processor don't wait execution; False - Agent processor wait cmd execution :param inSendOutputToOrchestratorLogsBool: True - catch cmd execution output and send it to the Orchestrator logs; Flase - else case; Default True @@ -175,9 +175,9 @@ def AgentOSFileSend(inHostNameStr, inUserStr, inOrchestratorFilePathStr, inAgent Work safety with big files Thread safe - you can call def even if you dont init the orchestrator - def will be executed later - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: :param inFileDataBytes: :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! @@ -239,9 +239,9 @@ def AgentOSFileBinaryDataBytesCreate(inHostNameStr, inUserStr, inFilePathStr, in """ 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: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: :param inFileDataBytes: :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! @@ -263,9 +263,9 @@ def AgentOSFileBinaryDataBase64StrCreate(inHostNameStr, inUserStr, inFilePathStr """ 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: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: :param inFileDataBase64Str: :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! @@ -286,9 +286,9 @@ def AgentOSFileBinaryDataBase64StrAppend(inHostNameStr, inUserStr, inFilePathStr """ Append binary file by the base64 string by the pyOpenRPA.Agent daemon process (safe for JSON transmission) - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: :param inFileDataBase64Str: :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! @@ -310,9 +310,9 @@ def AgentOSFileTextDataStrCreate(inHostNameStr, inUserStr, inFilePathStr, inFile """ Create text file by the string by the pyOpenRPA.Agent daemon process - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: :param inFileDataStr: :param inEncodingStr: @@ -333,9 +333,9 @@ def AgentOSFileBinaryDataBase64StrReceive(inHostNameStr, inUserStr, inFilePathSt """ Read binary file and encode in base64 to transmit (safe for JSON transmition) - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: File path to read :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! """ @@ -355,9 +355,9 @@ def AgentOSFileBinaryDataReceive(inHostNameStr, inUserStr, inFilePathStr): """ Read binary file from agent (synchronious) - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: File path to read :return: file data bytes """ @@ -393,9 +393,9 @@ def AgentOSFileTextDataStrReceive(inHostNameStr, inUserStr, inFilePathStr, inEnc """ Read text file in the agent GUI session - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :param inFilePathStr: File path to read :param inEncodingStr: Text file encoding. Default 'utf-8' :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! @@ -415,9 +415,9 @@ def AgentProcessWOExeUpperUserListGet(inHostNameStr, inUserStr, inGSettings = No """ Return the process list only for the current user (where Agent is running) without .EXE in upper case. Can use in ActivityItem from Orchestrator to Agent - :param inGSettings: Global settings dict (singleton) - :param inHostNameStr: - :param inUserStr: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) + :param inHostNameStr: Наименование хоста, на котором запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления + :param inUserStr: Наименование пользователя, на графической сессии которого запущен Агент. Наименования подключенных агентов доступно для просмотра в панели управления :return: GUID String of the ActivityItem - you can wait (sync or async) result by this guid! """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -442,11 +442,11 @@ def OSLogoff(): def OSCredentialsVerify(inUserStr, inPasswordStr, inDomainStr=""): ## """ - Verify user credentials in windows. Return bool + Выполнить верификацию доменного (локального) пользователя по паре логин/пароль - :param inUserStr: - :param inPasswordStr: - :param inDomainStr: + :param inUserStr: Наименование пользователя + :param inPasswordStr: Пароль + :param inDomainStr: Домен. Если домена нет - не указывать или "" :return: True - Credentials are actual; False - Credentials are not actual """ try: @@ -523,7 +523,7 @@ def OrchestratorRestart(inGSettings=None): """ Orchestrator restart - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings OrchestratorSessionSave(inGSettings=inGSettings) # Dump RDP List in file json @@ -737,7 +737,7 @@ def OrchestratorSessionRestore(inGSettings=None): _SessionLast_RDPList.json (encoding = "utf-8") _SessionLast_StorageDict.pickle (binary) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :return: """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -796,7 +796,7 @@ def UACUpdate(inADLoginStr, inADStr="", inADIsDefaultBool=True, inURLList=None, """ Update user access (UAC) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inADLoginStr: :param inADStr: :param inADIsDefaultBool: @@ -832,7 +832,7 @@ def UACSuperTokenUpdate(inSuperTokenStr, inGSettings=None): """ Add supertoken for the all access (it is need for the robot communication without human) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inSuperTokenStr: """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -863,7 +863,7 @@ def WebURLConnectDef(inMethodStr, inURLStr, inMatchTypeStr, inDef, inContentType "inContentTypeStr": "", #HTTP Content-type "inDef": None #Function with str result - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inMethodStr: "GET|POST", :param inURLStr: example "/index", #URL of the request :param inMatchTypeStr: #"BeginWith|Contains|Equal|EqualCase", @@ -895,7 +895,7 @@ def WebURLConnectFolder(inMethodStr, inURLStr, inMatchTypeStr, inFolderPathStr, "inFolderPathStr": "", #Absolute or relative path "inUACBool" - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inMethodStr: :param inURLStr: :param inMatchTypeStr: @@ -930,7 +930,7 @@ def WebURLConnectFile(inMethodStr, inURLStr, inMatchTypeStr, inFilePathStr, inCo "inMatchTypeStr": "", #"BeginWith|Contains|Equal|EqualCase", "inFolderPathStr": "", #Absolute or relative path - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inMethodStr: :param inURLStr: :param inMatchTypeStr: @@ -957,7 +957,7 @@ def WebListenCreate(inServerKeyStr="Default", inAddressStr="", inPortInt=80, inC """ Create listen interface for the web server - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inAddressStr: IP interface to listen :param inPortInt: Port int to listen for HTTP default is 80; for HTTPS default is 443 :param inCertFilePEMPathStr: Path to .pem (base 64) certificate. Required for SSL connection. ATTENTION - do not use certificate with password @@ -978,7 +978,7 @@ def WebCPUpdate(inCPKeyStr, inHTMLRenderDef=None, inJSONGeneratorDef=None, inJSI """ Add control panel HTML, JSON generator or JS when page init - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inCPKeyStr: :param inHTMLRenderDef: :param inJSONGeneratorDef: @@ -1142,7 +1142,7 @@ def WebUserIsSuperToken(inRequest = None, inGSettings = None): Return bool if request is authentificated with supetoken (token which is never expires) :param inRequest: inRequest from the server. Optional if call def from request thread - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :return: bool True - is supertoken; False - is not supertoken """ if inRequest is None: inRequest = WebRequestGet() @@ -1179,7 +1179,7 @@ def GSettingsGet(inGSettings=None): """ Get the GSettings from the singleton module. - :param inGSettings: You can pass some GSettings to check if it equal to base gsettings. If not equal - def will merge it + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :return: GSettings """ global GSettings # identify the global variable @@ -1192,7 +1192,7 @@ def GSettingsKeyListValueSet(inValue, inKeyList=None, inGSettings = None): """ Set value in GSettings by the key list - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inValue: :param inKeyList: :return: bool @@ -1214,7 +1214,7 @@ def GSettingsKeyListValueGet(inKeyList=None, inGSettings = None): """ Get the value from the GSettings by the key list - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inKeyList: :return: value any type """ @@ -1252,7 +1252,7 @@ def GSettingsKeyListValueAppend(inValue, inKeyList=None, inGSettings = None): # } #} - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inValue: Any value to be appended in gSettings Dict by the key list :param inKeyList: List of the nested keys (see example) :return: True every time @@ -1295,7 +1295,7 @@ def GSettingsKeyListValueOperatorPlus(inValue, inKeyList=None, inGSettings = Non # } #} - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inValue: List with values to be merged with list in gSettings :param inKeyList: List of the nested keys (see example) :return: True every time @@ -1352,7 +1352,7 @@ def ProcessorAliasDefCreate(inDef, inAliasStr=None, inGSettings = None): inAliasStr="TestDefAlias") # Now you can call TestDef by the alias from var lAliasStr with help of ActivityItem (key Def = lAliasStr) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDef: Def :param inAliasStr: String alias for associated def :return: str Alias string (Alias can be regenerated if previous alias was occupied) @@ -1378,7 +1378,7 @@ def ProcessorAliasDefUpdate(inDef, inAliasStr, inGSettings = None): inAliasStr="TestDefAlias") # Now you can call TestDef by the alias "TestDefAlias" with help of ActivityItem (key Def = "TestDefAlias") - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDef: Def :param inAliasStr: String alias for associated def :return: str Alias string @@ -1528,7 +1528,7 @@ def ActivityItemDefAliasCreate(inDef, inAliasStr=None, inGSettings = None): inAliasStr="TestDefAlias") # Now you can call TestDef by the alias from var lAliasStr with help of ActivityItem (key Def = lAliasStr) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDef: Def :param inAliasStr: String alias for associated def :return: str Alias string (Alias can be regenerated if previous alias was occupied) @@ -1582,7 +1582,7 @@ def ActivityItemDefAliasUpdate(inDef, inAliasStr, inGSettings = None): inAliasStr="TestDefAlias") # Now you can call TestDef by the alias "TestDefAlias" with help of ActivityItem (key Def = "TestDefAlias") - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDef: Def :param inAliasStr: String alias for associated def :return: str Alias string @@ -1694,7 +1694,7 @@ def ProcessorActivityItemAppend(inGSettings = None, inDef=None, inArgList=None, inActivityItemDict = lActivityItem) # Activity have been already append in the processor queue - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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 @@ -1892,7 +1892,7 @@ def ProcessDefIntervalCall(inDef, inIntervalSecFloat, inIntervalAsyncBool=False, """ Use this procedure if you need to run periodically some def. Set def, args, interval and enjoy :) - :param inGSettings: global settings + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDef: def link, which will be called with interval inIntervalSecFloat :param inIntervalSecFloat: Interval in seconds between call :param inIntervalAsyncBool: False - wait interval before next call after the previous iteration result; True - wait interval after previous iteration call @@ -2033,7 +2033,7 @@ def SchedulerActivityTimeAddWeekly(inTimeHHMMStr="23:55:", inWeekdayList=None, i inActivityList = [lActivityItem]) # Activity will be executed at 04:34 Wednesday (2), thursday (3), friday (4) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inTimeHHMMStr: Activation time from "00:00" to "23:59". Example: "05:29" :param inWeekdayList: Week day list to initiate activity list. Use int from 0 (monday) to 6 (sunday) as list items. Example: [0,1,2,3,4]. Default value is everyday ([0,1,2,3,4,5,6]) :param inActivityList: Activity list structure @@ -2154,7 +2154,7 @@ def RDPSessionDublicatesResolve(inGSettings): DEVELOPING Search duplicates in GSettings RDPlist !def is developing! - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :return: """ pass @@ -2183,7 +2183,7 @@ def RDPSessionConnect(inRDPSessionKeyStr, inRDPTemplateDict=None, inHostStr=None inRDPTemplateDict = lRDPItemDict) # Orchestrator will create RDP session by the lRDPItemDict configuration - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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 @@ -2235,7 +2235,7 @@ def RDPSessionDisconnect(inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = No inRDPSessionKeyStr = "RDPKey") # Orchestrator will disconnect RDP session and will stop to monitoring current RDP - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inRDPSessionKeyStr: RDP Session string key - need for the further identification :param inBreakTriggerProcessWOExeList: List of the processes, which will stop the execution. Example ["notepad"] @@ -2288,7 +2288,7 @@ def RDPSessionReconnect(inRDPSessionKeyStr, inRDPTemplateDict=None, inGSettings inRDPTemplateDict = inRDPTemplateDict) # Orchestrator will reconnect RDP session and will continue to monitoring current RDP - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inRDPSessionKeyStr: RDP Session string key - need for the further identification :param inRDPTemplateDict: RDP configuration dict with settings (see def Orchestrator.RDPTemplateCreate) :return: @@ -2330,7 +2330,7 @@ def RDPSessionMonitorStop(inRDPSessionKeyStr, inGSettings = None): inRDPSessionKeyStr = "RDPKey") # Orchestrator will stop the RDP monitoring - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inRDPSessionKeyStr: RDP Session string key - need for the further identification :return: True every time :> """ @@ -2354,7 +2354,7 @@ def RDPSessionLogoff(inRDPSessionKeyStr, inBreakTriggerProcessWOExeList = None, inBreakTriggerProcessWOExeList = ['Notepad']) # Orchestrator will logoff the RDP session - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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 @@ -2391,7 +2391,7 @@ def RDPSessionResponsibilityCheck(inRDPSessionKeyStr, inGSettings = None): """ DEVELOPING, MAYBE NOT USEFUL Check RDP Session responsibility TODO NEED DEV + TEST - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inRDPSessionKeyStr: RDP Session string key - need for the further identification :return: True every time """ @@ -2448,7 +2448,7 @@ def RDPSessionProcessStartIfNotRunning(inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagGetAbsPathBool = True) # Orchestrator will start the process in RDP session - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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. @@ -2493,7 +2493,7 @@ def RDPSessionCMDRun(inRDPSessionKeyStr, inCMDStr, inModeStr="CROSSCHECK", inGSe inModeStr = 'LISTEN') # Orchestrator will send CMD to RDP and return the result (see return section) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inRDPSessionKeyStr: RDP Session string key - need for the further identification :param inCMDStr: Any CMD string :param inModeStr: Variants: @@ -2548,7 +2548,7 @@ def RDPSessionProcessStop(inRDPSessionKeyStr, inProcessNameWEXEStr, inFlagForceC inFlagForceCloseBool = True) # Orchestrator will send CMD to RDP and return the result (see return section) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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 @@ -2594,7 +2594,7 @@ def RDPSessionFileStoredSend(inRDPSessionKeyStr, inHostFilePathStr, inRDPFilePat inRDPFilePathStr = "C:\\RPA\\TESTDIR\\Test.py") # Orchestrator will send CMD to RDP and return the result (see return section) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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" @@ -2639,7 +2639,7 @@ def RDPSessionFileStoredRecieve(inRDPSessionKeyStr, inRDPFilePathStr, inHostFile inRDPFilePathStr = "C:\\RPA\\TESTDIR\\Test.py") # Orchestrator will send CMD to RDP and return the result (see return section) - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :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" @@ -2675,7 +2675,7 @@ def GSettingsAutocleaner(inGSettings=None): """ HIDDEN Interval gSettings auto cleaner def to clear some garbage. - :param inGSettings: Global settings dict (singleton) + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :return: None """ inGSettings = GSettingsGet(inGSettings=inGSettings) # Set the global settings @@ -2719,7 +2719,7 @@ def Orchestrator(inGSettings=None, inDumpRestoreBool = True, inRunAsAdministrato """ Main def to start orchestrator - :param inGSettings: + :param inGSettings: Глобальный словарь настроек Оркестратора (синглтон) :param inDumpRestoreBool: :param inRunAsAdministratorBool: :return: