From 4adb132d155c387af7b64dad0972238f19e585df Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Sat, 25 May 2024 09:19:03 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D1=88=D0=B8=D1=84=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB?= =?UTF-8?q?=D1=8C=D1=82=D0=B0=D1=82=D0=B0=D0=BC=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20(workflow)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json.gpg | Bin 3264 -> 3261 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data.json.gpg b/data.json.gpg index b0b1728b1b1ee36e73f312552f4dc2fc0f4f7d21..d5f2a36292d76ad6540ae93943541979bdef1353 100644 GIT binary patch literal 3261 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 From b676dac4f524a34c791a0a1cb104dcdb60f16d06 Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Sat, 25 May 2024 09:19:55 +0000 Subject: [PATCH 2/3] =?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_Dropbox.os | 181 +++++++++++++++++- OInt/tests/Modules/internal/OPI_Тесты.os | 154 ++++++++++++++- .../internal/Modules/OPI_Инструменты.os | 3 + 3 files changed, 325 insertions(+), 13 deletions(-) diff --git a/OInt/core/Modules/OPI_Dropbox.os b/OInt/core/Modules/OPI_Dropbox.os index b19ee82d0..79641d582 100644 --- a/OInt/core/Modules/OPI_Dropbox.os +++ b/OInt/core/Modules/OPI_Dropbox.os @@ -120,6 +120,87 @@ #Область РаботаСФайламиИКаталогами +// Получить информацию об объекте +// Получает информацию о файле или каталоге +// +// Параметры: +// Токен - Строка - Токен - token +// Путь - Строка - Путь к объекту - path +// Подробно - Булево - Добавляет дополнительные поля информации для медиафайлов - detail +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ПолучитьИнформациюОбОбъекте(Знач Токен, Знач Путь, Знач Подробно = Ложь) Экспорт + + URL = "https://api.dropboxapi.com/2/files/get_metadata"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("path" , Путь , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("include_media_info", Подробно, "Булево", Параметры); + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + +// Получить список файлов папки +// Получает список первых файлов каталога или продолжает получение следующих при указании курсора +// +// Параметры: +// Токен - Строка - Токен - token +// Путь - Строка - Путь к каталогу. Необязателен, если указан курсор - path +// Подробно - Булево - Добавляет дополнительные поля информации для медиафайлов - detail +// Курсор - Строка - Курсор из предыдущего запроса для получения следующего набора файлов - cursor +// +// Возвращаемое значение: +// HTTPОтвет - Получить список файлов папки +Функция ПолучитьСписокФайловПапки(Знач Токен, Знач Путь = "", Знач Подробно = Ложь, Знач Курсор = "") Экспорт + + Если Не ЗначениеЗаполнено(Курсор) Тогда + + URL = "https://api.dropboxapi.com/2/files/list_folder"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("path" , Путь , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("include_media_info", Подробно , "Булево", Параметры); + + Иначе + + URL = "https://api.dropboxapi.com/2/files/list_folder/continue"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("cursor", Курсор, "Строка", Параметры); + + КонецЕсли; + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + +// Получить превью +// Получает PDF или HTML превью объекта (только для токументов) +// +// Параметры: +// Токен - Строка - Токен - token +// Путь - Строка - Путь к объекту - path +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ПолучитьПревью(Знач Токен, Знач Путь) Экспорт + + URL = "https://content.dropboxapi.com/2/files/get_preview"; + Ответ = ОбработатьОбъект(Токен, URL, Путь, Истина); + + Возврат Ответ; + +КонецФункции + // Загрузить файл // Загружает файл на облачный диск // @@ -155,14 +236,22 @@ // Удаляет объект с облачного диска // // Параметры: -// Токен - Строка - Токен - token -// Путь - Строка - Путь к объекту удаления - path +// Токен - Строка - Токен - token +// Путь - Строка - Путь к объекту удаления - path +// БезВозвратно - Строка - Удалить объект без возможности востановления - permanently // // Возвращаемое значение: // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox -Функция УдалитьОбъект(Знач Токен, Знач Путь) Экспорт +Функция УдалитьОбъект(Знач Токен, Знач Путь, Знач Безвозвратно = Ложь) Экспорт + + OPI_ПреобразованиеТипов.ПолучитьБулево(Безвозвратно); + + Если Безвозвратно Тогда + URL = "https://api.dropboxapi.com/2/files/permanently_delete"; + Иначе + URL = "https://api.dropboxapi.com/2/files/delete_v2"; + КонецЕсли; - URL = "https://api.dropboxapi.com/2/files/delete_v2"; Ответ = ОбработатьОбъект(Токен, URL, Путь); Возврат Ответ; @@ -173,7 +262,7 @@ // Копирует файл или каталог по выбранному пути // // Параметры: -// Токен - Строка - Токен - token +// Токен - Строка - Токен - token // Откуда - Строка - Путь к объекту оригинала - form // Куда - Строка - Целевой путь для нового объекта - to // @@ -195,6 +284,32 @@ КонецФункции +// Переместить объект +// Перемещает объект по выбранному пути +// +// Параметры: +// Токен - Строка - Токен - token +// Откуда - Строка - Путь к объекту оригинала - form +// Куда - Строка - Целевой путь для нового объекта - to +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ПереместитьОбъект(Знач Токен, Знач Откуда, Знач Куда) Экспорт + + URL = "https://api.dropboxapi.com/2/files/move_v2"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("from_path", Откуда, "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("to_path" , Куда , "Строка", Параметры); + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + // Создать папку // Создает пустой каталог по выбранному пути // @@ -224,7 +339,7 @@ // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox Функция СкачатьФайл(Знач Токен, Знач Путь) Экспорт - URL = "https://api.dropboxapi.com/2/files/download"; + URL = "https://content.dropboxapi.com/2/files/download"; Ответ = ОбработатьОбъект(Токен, URL, Путь, Истина); Возврат Ответ; @@ -242,13 +357,63 @@ // Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox Функция СкачатьПапку(Знач Токен, Знач Путь) Экспорт - URL = "https://api.dropboxapi.com/2/files/download_zip"; + URL = "https://content.dropboxapi.com/2/files/download_zip"; Ответ = ОбработатьОбъект(Токен, URL, Путь, Истина); Возврат Ответ; КонецФункции +// Получить список версий объекта +// Получает список версий (ревизий) объекта +// +// Параметры: +// Токен - Строка - Токен - token +// Путь - Строка - Путь к объекту - path +// Количество - Строка, Число - Число последних версий объекта для отображения - amount +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ПолучитьСписокВерсийОбъекта(Знач Токен, Знач Путь, Знач Количество = 10) Экспорт + + URL = "https://api.dropboxapi.com/2/files/list_revisions"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("path" , Путь , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("limit", Количество, "Число" , Параметры); + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + +// Востановить объект к версии +// Востанавливает состояние объекта к необходимой версии (ревизии) +// +// Параметры: +// Токен - Строка - Токен - token +// Путь - Строка - Путь к объекту - path +// Версия - Строка - ID версии (ревизии) для востановления - rev +// +// Возвращаемое значение: +// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Dropbox +Функция ВостановитьОбъектКВерсии(Знач Токен, Знач Путь, Знач Версия) Экспорт + + URL = "https://api.dropboxapi.com/2/files/restore"; + + Параметры = Новый Структура; + OPI_Инструменты.ДобавитьПоле("path", Путь , "Строка", Параметры); + OPI_Инструменты.ДобавитьПоле("rev" , Версия, "Строка", Параметры); + + Заголовки = ПолучитьЗаголовкиЗапроса(Токен); + Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); + + Возврат Ответ; + +КонецФункции + #КонецОбласти #КонецОбласти @@ -262,7 +427,7 @@ Если ВЗаголовках Тогда Заголовки = ПолучитьЗаголовкиЗапроса(Токен, Параметры); - Ответ = OPI_Инструменты.Post(URL, , Заголовки); + Ответ = OPI_Инструменты.PostBinary(URL, ПолучитьДвоичныеДанныеИзСтроки(""), Заголовки); Иначе Заголовки = ПолучитьЗаголовкиЗапроса(Токен); Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки); diff --git a/OInt/tests/Modules/internal/OPI_Тесты.os b/OInt/tests/Modules/internal/OPI_Тесты.os index 4ac34e511..1940eb2f7 100644 --- a/OInt/tests/Modules/internal/OPI_Тесты.os +++ b/OInt/tests/Modules/internal/OPI_Тесты.os @@ -3153,8 +3153,13 @@ OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture", ПараметрыТеста); Dropbox_ЗагрузитьФайл(ПараметрыТеста); + Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыТеста); + Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыТеста); + Dropbox_ВостановитьОбъектКВерсии(ПараметрыТеста); + Dropbox_ПолучитьПревью(ПараметрыТеста); Dropbox_СкачатьФайл(ПараметрыТеста); - Dropbox_КопироватьФайл(ПараметрыТеста); + Dropbox_ПереместитьОбъект(ПараметрыТеста); + Dropbox_КопироватьОбъект(ПараметрыТеста); Dropbox_УдалитьОбъект(ПараметрыТеста); КонецПроцедуры @@ -3169,6 +3174,15 @@ КонецПроцедуры +Процедура ДропБокс_ПолучитьСписокФайловПапки() Экспорт + + ПараметрыТеста = Новый Структура; + OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Dropbox_Token", ПараметрыТеста); + + Dropbox_ПолучитьСписокФайловПапки(ПараметрыТеста); + +КонецПроцедуры + #КонецОбласти #КонецОбласти @@ -3218,8 +3232,16 @@ OPI_ПолучениеДанныхТестов.ОжидаетЧто(ЗначениеЗаполнено(Результат)).Равно(Ложь); КонецПроцедуры -Процедура Проверка_ДвоичныеДанные(Знач Результат) - OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные"); +Процедура Проверка_ДвоичныеДанные(Знач Результат, Знач Размер = Неопределено) + + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат).ИмеетТип("ДвоичныеДанные"); + + Если Не Размер = Неопределено Тогда + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер()).Равно(Размер); + Иначе + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат.Размер() > 500000).Равно(Истина); + КонецЕсли; + КонецПроцедуры Процедура Проверка_ТелеграмИстина(Знач Результат) @@ -3495,6 +3517,16 @@ КонецПроцедуры +Процедура Проверка_ДропБоксМассив(Знач Результат, Знач Количество = Неопределено) + + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["entries"]).ИмеетТип("Массив"); + + Если Не Количество = Неопределено Тогда + OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["entries"].Количество()).Равно(Количество); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область АтомарныеТесты @@ -4662,6 +4694,40 @@ КонецПроцедуры +Процедура Dropbox_ПолучитьИнформациюОбОбъекте(ПараметрыФункции) + + Путь = "/New/pic.png"; + Токен = ПараметрыФункции["Dropbox_Token"]; + + Результат = OPI_Dropbox.ПолучитьИнформациюОбОбъекте(Токен, Путь, Истина); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьИнформациюОбОбъекте"); + + Проверка_ДропБоксФайл(Результат, Путь); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура Dropbox_ПолучитьПревью(ПараметрыФункции) + + Токен = ПараметрыФункции["Dropbox_Token"]; + Путь = "/New/mydoc.docx"; + + Результат = OPI_Dropbox.ПолучитьПревью(Токен, Путь); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьПревью"); + + Проверка_ДвоичныеДанные(Результат, 190834); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + Процедура Dropbox_ЗагрузитьФайл(ПараметрыФункции) Путь = "/New/pic.png"; @@ -4701,7 +4767,7 @@ КонецПроцедуры -Процедура Dropbox_КопироватьФайл(ПараметрыФункции) +Процедура Dropbox_КопироватьОбъект(ПараметрыФункции) Оригинал = "/New/pic.png"; Копия = "/New/pic_copy.png"; @@ -4722,6 +4788,27 @@ КонецПроцедуры +Процедура Dropbox_ПереместитьОбъект(ПараметрыФункции) + + ОригиналныйПуть = "/New/pic.png"; + ЦелевойПуть = "/pic.png"; + Токен = ПараметрыФункции["Dropbox_Token"]; + + Результат = OPI_Dropbox.ПереместитьОбъект(Токен, ОригиналныйПуть, ЦелевойПуть); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "Dropbox_ПереместитьОбъект"); + + Проверка_ДропБоксМетаданные(Результат, ЦелевойПуть); + + Результат = OPI_Dropbox.ПереместитьОбъект(Токен, ЦелевойПуть, ОригиналныйПуть); + Проверка_ДропБоксМетаданные(Результат, ОригиналныйПуть); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + Процедура Dropbox_СоздатьПапку(ПараметрыФункции) Токен = ПараметрыФункции["Dropbox_Token"]; @@ -4753,7 +4840,7 @@ OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл"); - Проверка_ДвоичныеДанные(Результат); + Проверка_ДвоичныеДанные(Результат, 2114023); OPI_Инструменты.Пауза(5); @@ -4776,6 +4863,63 @@ КонецПроцедуры +Процедура Dropbox_ПолучитьСписокФайловПапки(ПараметрыФункции) + + Путь = "/New"; + Токен = ПараметрыФункции["Dropbox_Token"]; + + Результат = OPI_Dropbox.ПолучитьСписокФайловПапки(Токен, Путь, Истина); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокФайловПапки"); + + Проверка_ДропБоксМассив(Результат); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура Dropbox_ПолучитьСписокВерсийОбъекта(ПараметрыФункции) + + Токен = ПараметрыФункции["Dropbox_Token"]; + Путь = "/New/pic.png"; + + Результат = OPI_Dropbox.ПолучитьСписокВерсийОбъекта(Токен, Путь, 1); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СкачатьФайл"); + + Проверка_ДропБоксМассив(Результат, 1); + + Ревизия = Результат["entries"][0]["rev"]; + + ПараметрыФункции.Вставить("Dropbox_FileRevision", Ревизия); + OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Dropbox_FileRevision", Ревизия); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + +Процедура Dropbox_ВостановитьОбъектКВерсии(ПараметрыФункции) + + Версия = ПараметрыФункции["Dropbox_FileRevision"]; + Токен = ПараметрыФункции["Dropbox_Token"]; + Путь = "/New/pic.png"; + + Результат = OPI_Dropbox.ВостановитьОбъектКВерсии(Токен, Путь, Версия); + + // END + + OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ВостановитьОбъектКВерсии"); + + Проверка_ДропБоксФайл(Результат, Путь); + + OPI_Инструменты.Пауза(5); + +КонецПроцедуры + #КонецОбласти #КонецОбласти diff --git a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os index f807d841c..7984c7406 100644 --- a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os +++ b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os @@ -478,6 +478,9 @@ ИначеЕсли Тип = "ДвоичныеДанные" Тогда OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Значение); + ИначеЕсли Тип = "Число" Тогда + OPI_ПреобразованиеТипов.ПолучитьЧисло(Значение); + Иначе OPI_ПреобразованиеТипов.ПолучитьСтроку(Значение); From ed638380295225fba0e682553161d7aa448c56d9 Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Sat, 25 May 2024 09:23:34 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D1=88=D0=B8=D1=84=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB?= =?UTF-8?q?=D1=8C=D1=82=D0=B0=D1=82=D0=B0=D0=BC=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20(workflow)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json.gpg | Bin 3261 -> 3290 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data.json.gpg b/data.json.gpg index d5f2a36292d76ad6540ae93943541979bdef1353..e0b4abeb3f3d68667aa6b7e9d095337c1f21d913 100644 GIT binary patch literal 3290 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 YH@;)N3y(rr2{(edRMpp@Z>NV!W6{TFs{jB1 literal 3261 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