errorMsg="Попытка авторизации не прошла успешно (для пользователя не заявлен доступ к оркестратору pyOpenRPA. Обратитесь в техническую поддержку)"
raiseHTTPException(status_code=401,detail="Попытка авторизации не прошла успешно (для пользователя не заявлен доступ к оркестратору pyOpenRPA. Обратитесь в техническую поддержку)",headers={})
raiseErrorException(text=errorMsg)
else:
else:
errorMsg="Попытка авторизации не прошла успешно (неверная пара логин / пароль)"
raiseHTTPException(status_code=401,detail="Попытка авторизации не прошла успешно (неверная пара логин / пароль)",headers={})
raiseErrorException(text=errorMsg)
######################################
else:
else:
raiseAuthException()
raiseHTTPException(status_code=401,detail="Попытка авторизации не прошла успешно (неполная пара логин / пароль)",headers={'Content-type':'text/html','WWW-Authenticate':'Basic'})
else:returnNone# Credentials are not required - return none
else:returnNone# Credentials are not required - return none
# Перевод встроенных fastapi функций на авторизацию
lRouteList=[]
lRouteList=[]
forlIteminapp.router.routes:
forlIteminapp.router.routes:
lRouteList.append(lItem)
lRouteList.append(lItem)
@ -144,49 +137,6 @@ for lItem in lRouteList:
tags=["FastAPI"]
tags=["FastAPI"]
)
)
# объявление классов для дальнейшей обработки вызываемых исключений (обязательно должны наследоваться от EXception)
<metaname="description"content="Ведущий RPA разработчик российского программного обеспечения. RPA платформа позволяет решать любые бизнес-задачи. Комплексное решение от компании RPA pyOpenRPA. Первое открытое российское RPA решение для крупного / среднего / малого бизнеса. Доступная автоматизация для каждого."/>
<metaname="description"content="Ведущий RPA разработчик российского программного обеспечения. RPA платформа позволяет решать любые бизнес-задачи. Комплексное решение от компании RPA pyOpenRPA. Первое открытое российское RPA решение для крупного / среднего / малого бизнеса. Доступная автоматизация для каждого."/>
"""L-,W+: Техническая функция: Получить список параметров последних уровней UIO селектора по UIO объектам, которые удовлетворяют входящим inUIOSelector, поиск по которым будет производится от уровня inElement.
"""L-,W+: Техническая функция: Получить список параметров последних уровней UIO селектора по UIO объектам, которые удовлетворяют входящим inUIOSelector, поиск по которым будет производится от уровня inElement.
"""L-,W+: Выполнить активность inActionName над UIO объектом, полученным с помощью UIO селектора inUIOSelector. Описание возможных активностей см. ниже.
"""L-,W+: Выполнить активность inActionName над UIO объектом, полученным с помощью UIO селектора inUIOSelector. Описание возможных активностей см. ниже.
"""L+,W+: Выполнить запуск браузера Chrome. Если вы скачали pyOpenRPA вместе с репозиторием, то будет использоваться встроенный браузер Google Chrome. Если установка pyOpenRPA производилась другим способом, то требуется указать расположение браузера Google Chrome и соответствующего WebDriver
"""L+,W+: Выполнить запуск браузера Chrome. Если вы скачали pyOpenRPA вместе с репозиторием, то будет использоваться встроенный браузер Google Chrome. Если установка pyOpenRPA производилась другим способом, то требуется указать расположение браузера Google Chrome и соответствующего WebDriver.
..code-block::python
..code-block::python
@ -123,8 +122,6 @@ def BrowserChange(inBrowser):
defPageOpen(inURLStr:str):
defPageOpen(inURLStr:str):
"""L+,W+: Открыть страницу inURLStr в браузере и дождаться ее загрузки.
"""L+,W+: Открыть страницу inURLStr в браузере и дождаться ее загрузки.
"""L+,W+: Ожидать появление UI элемента на веб странице (блокирует выполнение потока), заданного по UIO селектору inUIOSelectorStr. Выполнять ожидание на протяжении inWaitSecFloat (по умолчанию 60 сек.). Проверка производится с интервалом inWaitIntervalSecFloat (по умолчанию 1 сек.)
"""L+,W+: Ожидать появление UI элемента на веб странице (блокирует выполнение потока), заданного по UIO селектору inUIOSelectorStr. Выполнять ожидание на протяжении inWaitSecFloat (по умолчанию 60 сек.). Проверка производится с интервалом inWaitIntervalSecFloat (по умолчанию 1 сек.)
"""L+,W+: Ожидать исчезновение UI элемента с веб страницы (блокирует выполнение потока), заданного по UIO селектору inUIOSelectorStr. Выполнять ожидание на протяжении inWaitSecFloat (по умолчанию 60 сек.). Проверка производится с интервалом inWaitIntervalSecFloat (по умолчанию 1 сек.)
"""L+,W+: Ожидать исчезновение UI элемента с веб страницы (блокирует выполнение потока), заданного по UIO селектору inUIOSelectorStr. Выполнять ожидание на протяжении inWaitSecFloat (по умолчанию 60 сек.). Проверка производится с интервалом inWaitIntervalSecFloat (по умолчанию 1 сек.)
exceptJavascriptException:raiseJavascriptException("Отсутствуют координаты для идентификации веб-элемента. Пожалуйста, в следующий раз двигайте мышью")
- - Utils: Disk - подготовка файлов / папок, если они не обнаружены (полезно при первом запуске, если требуются БД/ Файлы хранилищ)
- - Utils: Disk - подготовка файлов / папок, если они не обнаружены (полезно при первом запуске, если требуются БД/ Файлы хранилищ)
- - Jupyter: запуск из директорий, пути к которым содержат пробелы
- - PyOpenRPA: autodocsumm - добавлено к пакетам
- - Исправлено неправильное поведение оркестратора при авторизации в браузере Firefox
- - Исправлено описание функци в документации, раздел UIWeb
- ОРКЕСТРАТОР
- ОРКЕСТРАТОР
- - Исправление совместимости URL путей с некорыми ресурсами для отработки в LINUX
- - Исправление совместимости URL путей с некорыми ресурсами для отработки в LINUX
- - Поддержка многотысячной аудитории, одновременно работающей в панели управления (async server-data server-log with fastapi)
- - Поддержка многотысячной аудитории, одновременно работающей в панели управления (async server-data server-log with fastapi)
@ -26,19 +22,13 @@ AGT - AGENT
- - AgentProcessList исправление (hotfix)
- - AgentProcessList исправление (hotfix)
- - Права доступа в случае незаявленного пользователя (Hotfix)
- - Права доступа в случае незаявленного пользователя (Hotfix)
- - Возможность авторизации в формате login@domain
- - Возможность авторизации в формате login@domain
- - Переработана система обработки AuthTokenStr==None. Теперь поднимается exception в случаях, когда авторизация производилась, но AuthTokenStr==None
- - Добавлена новая функция - Orchestrator.OrchestratorIsCredentialsAsk. Определяет была ли произведена авторизация пользователя
- - WebURLConnectFolder - переработано. Добавлен флаг обработки ошибки, позволяющий продолжить инициализацию оркестратора, если папки не существует
- - Переработана система авторизации. Добавлена стартовая страница оркестратора с формой для ввода пары логин / пароль
- РОБОТ
- РОБОТ
- - Убрали лишний print из Screen.BoxAnchorRuleCheck
- - Убрали лишний print из Screen.BoxAnchorRuleCheck
- - pyOpenRPA.Robot.UIWeb.BrowserChromeStart - добавлен флаг печати в PDF и директория для сохранения при инициализации браузера
- - pyOpenRPA.Robot.UIWeb.BrowserChromeStart - добавлен флаг печати в PDF и директория для сохранения при инициализации браузера
- - Добавлена новая функция - pyOpenRPA.Robot.UIWeb.PagePrint. Вызывает окно печати браузера
- - Добавлена новая функция - pyOpenRPA.Robot.UIWeb.PagePrint. Вызывает окно печати браузера.
- - pyOpenRPA.Robot.UIWeb.UIOSelectorClick - исправлено. Теперь работает и с XPath, и с CSS
- - pyOpenRPA.Robot.UIWeb.UIOSelectorClick - исправлено. Теперь работает и с XPath, и с CSS
- - Добавлена новая функция - pyOpenRPA.Robot.UIWeb.UIOSelectorSetValue. Изменение атрибута value по заданному UIOSelector элемента
- - Добавлена новая функция - pyOpenRPA.Robot.UIWeb.UIOSelectorSetValue. Изменение атрибута value по заданному UIOSelector элемента.
- - pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList - исправлена обработка exceptions. Теперь флаг ловит все исключения
- - Флаг inFlagRaiseException добавлен во все функции, связанные с pyOpenRPA.Robot.UIDesktop.UIOSelector_Get_UIOList. Теперь режим работы с исключениями задается глобально. Исключения отлавливаются - inFlagRaiseException=True, не отлавливаются - inFlagRaiseException=False