From bd1211bd208b79521925a9e3d3cbafc783475619 Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Tue, 2 Apr 2024 16:18:04 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20OPI=20->=20OInt=20?= =?UTF-8?q?(workflow)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OInt/core/Modules/OPI_Twitter.os | 40 ++++++++++++------- .../internal/Modules/OPI_Инструменты.os | 4 +- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/OInt/core/Modules/OPI_Twitter.os b/OInt/core/Modules/OPI_Twitter.os index 3c22ae59c0..62114e4f7e 100644 --- a/OInt/core/Modules/OPI_Twitter.os +++ b/OInt/core/Modules/OPI_Twitter.os @@ -307,8 +307,14 @@ Для Каждого ФайлОтправки Из МассивФайлов Цикл OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ФайлОтправки); - - IDМедиа = ЗагрузитьМедиафайл(ФайлОтправки, ТипВложений, Параметры_)[MIS]; + + Ответ = ЗагрузитьМедиафайл(ФайлОтправки, ТипВложений, Параметры_); + IDМедиа = Ответ[MIS]; + + Если Не ЗначениеЗаполнено(IDМедиа) Тогда + Возврат Ответ; + КонецЕсли; + МассивМедиа.Добавить(IDМедиа); КонецЦикла; @@ -330,6 +336,7 @@ OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Файл); MediaKey = "media_key"; + ProcessingInfo = "processing_info"; MIS = "media_id_string"; Command = "command"; ВидЗапроса = "POST"; @@ -397,7 +404,7 @@ Поля.Вставить(Command , "FINALIZE"); Поля.Вставить("media_id", IDИнициализации); - СтатусОбработки = ПолучитьСтатусОбработки(Параметры_, Поля, URL, ВидЗапроса); + СтатусОбработки = ПолучитьСтатусОбработки(Параметры_, Поля, URL); Если Не ТипЗнч(СтатусОбработки) = Тип("Строка") Тогда Возврат СтатусОбработки; @@ -410,12 +417,20 @@ Пока Строка(СтатусОбработки) = "pending" Или Строка(СтатусОбработки) = "in_progress" Цикл - СтатусОбработки = ПолучитьСтатусОбработки(Параметры_, Поля, URL, "GET"); + Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры_, Поля, "GET", URL); + Ответ = OPI_Инструменты.Get(URL, Поля, Авторизация); + Информация = Ответ[ProcessingInfo]; + + Если Не ЗначениеЗаполнено(Информация) Тогда + Возврат Ответ; + КонецЕсли; - Если Не ТипЗнч(СтатусОбработки) = Тип("Строка") Тогда - Возврат СтатусОбработки; - КонецЕсли + СтатусОбработки = Информация["state"]; + Если Не ЗначениеЗаполнено(СтатусОбработки) Тогда + Возврат Ответ; + КонецЕсли; + КонецЦикла; Если СтатусОбработки = "failed" Тогда @@ -610,16 +625,13 @@ КонецФункции -Функция ПолучитьСтатусОбработки(Знач Параметры, Знач Поля, Знач URL, Знач ВидЗапроса) +Функция ПолучитьСтатусОбработки(Знач Параметры, Знач Поля, Знач URL) ProcessingInfo = "processing_info"; - Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Поля, ВидЗапроса, URL); + Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Поля, "POST", URL); - Если ВидЗапроса = "GET" Тогда - Ответ = OPI_Инструменты.Get(URL, Поля, Авторизация); - Иначе - Ответ = OPI_Инструменты.Post(URL, Поля, Авторизация, Ложь); - КонецЕсли; + Ответ = OPI_Инструменты.Post(URL, Поля, Авторизация, Ложь); + Информация = Ответ[ProcessingInfo]; diff --git a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os index 86075ba905..af1580cd6b 100644 --- a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os +++ b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os @@ -473,9 +473,9 @@ Попытка SSL = Новый ЗащищенноеСоединениеOpenSSL; - Возврат Новый HTTPСоединение(Сервер, 443, , , , 300, SSL); + Возврат Новый HTTPСоединение(Сервер, 443, , , , 3000, SSL); Исключение - Возврат Новый HTTPСоединение(Сервер, 443, , , , 300); + Возврат Новый HTTPСоединение(Сервер, 443, , , , 3000); КонецПопытки; КонецФункции