mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-02-07 13:43:35 +02:00
Neocities вводный
This commit is contained in:
parent
c08212a19b
commit
d16bcf94c4
File diff suppressed because it is too large
Load Diff
176
src/ru/OInt/core/Modules/OPI_Neocities.os
Normal file
176
src/ru/OInt/core/Modules/OPI_Neocities.os
Normal file
@ -0,0 +1,176 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_Neocities.os
|
||||
// Lib: Neocities
|
||||
// CLI: neocities
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
|
||||
// Раскомментировать, если выполняется OneScript
|
||||
#Использовать "../../tools"
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область РаботаСФайлами
|
||||
|
||||
// Загрузить файл
|
||||
// Загружает одиночный файл на сервер Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Путь - Строка - Целевой путь файла на Neocities - path
|
||||
// Данные - Строка, ДвоичныеДанные - URL, путь или данные файла для загрузки - file
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция ЗагрузитьФайл(Знач Токен, Знач Путь, Знач Данные) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||
|
||||
URL = "https://neocities.org/api/upload";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
СоответствиеФайла = Новый Соответствие;
|
||||
СоответствиеФайла.Вставить(Путь + "|" + Путь, Данные);
|
||||
|
||||
Ответ = OPI_Инструменты.PostMultipart(URL, , СоответствиеФайла, "multipart/form-data", Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Загрузить файлы
|
||||
// Загружает несколько файлов на сервер Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// СоответствиеФайлов - Соответствие Из КлючИЗначение - Файлы для загрузки: Ключ > путь на NC, Значение - Файл - files
|
||||
// ПоОдному - Булево - Истина > отправляет файлы отдельными запросами - singly
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция ЗагрузитьФайлы(Знач Токен, Знач СоответствиеФайлов, Знач ПоОдному = Ложь) Экспорт
|
||||
|
||||
КонечныйОтвет = Новый Массив;
|
||||
ОбработанноеСоответствие = Новый Соответствие;
|
||||
|
||||
Для Каждого ФайлОтправки Из СоответствиеФайлов Цикл
|
||||
|
||||
Если ПоОдному Тогда
|
||||
|
||||
Ответ = ЗагрузитьФайл(Токен, ФайлОтправки.Ключ, ФайлОтправки.Значение);
|
||||
КонечныйОтвет.Добавить(Ответ);
|
||||
|
||||
Иначе
|
||||
|
||||
ТекущийПуть = ФайлОтправки.Ключ;
|
||||
ТекущиеДанные = ФайлОтправки.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПуть);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущиеДанные);
|
||||
|
||||
ОбработанноеСоответствие.Вставить(ТекущийПуть + "|" + ТекущийПуть, ТекущиеДанные);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ПоОдному Тогда
|
||||
|
||||
URL = "https://neocities.org/api/upload";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
КонечныйОтвет = OPI_Инструменты.PostMultipart(URL
|
||||
,
|
||||
, ОбработанноеСоответствие
|
||||
, "multipart/form-data"
|
||||
, Заголовки);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат КонечныйОтвет;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить выбранные файлы
|
||||
// Удаляет файл или несколько файлов с сервера Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Пути - Строка, Массив Из Строка - Путь или несколько путей удаляемых файлов - paths
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция УдалитьВыбранныеФайлы(Знач Токен, Знач Пути) Экспорт
|
||||
|
||||
URL = "https://neocities.org/api/delete";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("filenames", Пути, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки, Ложь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция СоздатьЗаголовкиЗапроса(Знач Токен)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
Заголовки = Новый Соответствие;
|
||||
Заголовки.Вставить("Authorization", "Bearer " + Токен);
|
||||
Возврат Заголовки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -6,6 +6,7 @@
|
||||
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
|
||||
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
|
||||
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
|
||||
<module name="OPI_Neocities" file="core/Modules/OPI_Neocities.os"/>
|
||||
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
|
||||
<module name="OPI_Ozon" file="core/Modules/OPI_Ozon.os"/>
|
||||
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
|
||||
|
@ -3034,6 +3034,24 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
||||
Процедура НС_РаботаСФайлами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("NC_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Gif" , ПараметрыТеста);
|
||||
|
||||
Neocities_ЗагрузитьФайл(ПараметрыТеста);
|
||||
Neocities_ЗагрузитьФайлы(ПараметрыТеста);
|
||||
Neocities_УдалитьВыбранныеФайлы(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -4016,6 +4034,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -13051,6 +13075,82 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
||||
Процедура Neocities_ЗагрузитьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
Данные = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||
Путь = "testfolder/test_pic.png";
|
||||
|
||||
Результат = OPI_Neocities.ЗагрузитьФайл(Токен, Путь, Данные);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Neocities_ЗагрузитьФайлы(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
|
||||
Картинка1 = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||
Картинка2 = ПараметрыФункции["Picture2"]; // URL, Путь или Двоичные данные
|
||||
Гифка = ПараметрыФункции["Gif"]; // URL, Путь или Двоичные данные
|
||||
|
||||
СоответствиеФайлов = Новый Соответствие;
|
||||
СоответствиеФайлов.Вставить("test/pic1.png", Картинка1);
|
||||
СоответствиеФайлов.Вставить("test/gif.gif" , Картинка2);
|
||||
СоответствиеФайлов.Вставить("pic2.png" , Гифка);
|
||||
|
||||
Результат = OPI_Neocities.ЗагрузитьФайлы(Токен, СоответствиеФайлов);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлы", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Neocities_УдалитьВыбранныеФайлы(ПараметрыФункции)
|
||||
|
||||
OPI_Инструменты.Пауза(120); // SKIP
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
|
||||
Пути = Новый Массив;
|
||||
Пути.Добавить("/test/pic1.png");
|
||||
Пути.Добавить("/test/gif.gif");
|
||||
Пути.Добавить("/pic2.png");
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, Пути);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, "/testfolder");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы (каталог 1)");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, "/test");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы (каталог 2)");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -64,6 +64,7 @@
|
||||
Разделы.Вставить("Bitrix24" , 5);
|
||||
Разделы.Вставить("VkTeams" , 5);
|
||||
Разделы.Вставить("Ozon" , 5);
|
||||
Разделы.Вставить("Neocities" , 5);
|
||||
|
||||
Возврат Разделы;
|
||||
|
||||
@ -87,6 +88,7 @@
|
||||
Битрикс = "Bitrix24";
|
||||
ВКТ = "VkTeams";
|
||||
Озон = "Ozon";
|
||||
Неоситиз = "Neocities";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@ -239,6 +241,8 @@
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЦеныИОстаткиТоваров" , "Цены и остатки товаров" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСАкциями" , "Работа с акциями" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСоСкладами" , "Работа со складами" , Озон);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "НС_РаботаСФайлами" , "Работа с файлами" , Неоситиз);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
@ -437,9 +441,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
176
src/ru/OPI/src/CommonModules/OPI_Neocities/Module.bsl
Normal file
176
src/ru/OPI/src/CommonModules/OPI_Neocities/Module.bsl
Normal file
@ -0,0 +1,176 @@
|
||||
// OneScript: ./OInt/core/Modules/OPI_Neocities.os
|
||||
// Lib: Neocities
|
||||
// CLI: neocities
|
||||
|
||||
// MIT License
|
||||
|
||||
// Copyright (c) 2023 Anton Tsitavets
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
||||
// BSLLS:Typo-off
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
// BSLLS:IncorrectLineBreak-off
|
||||
// BSLLS:NumberOfOptionalParams-off
|
||||
// BSLLS:UsingServiceTag-off
|
||||
// BSLLS:LineLength-off
|
||||
|
||||
//@skip-check module-structure-top-region
|
||||
//@skip-check module-structure-method-in-regions
|
||||
//@skip-check wrong-string-literal-content
|
||||
//@skip-check method-too-many-params
|
||||
|
||||
// Раскомментировать, если выполняется OneScript
|
||||
// #Использовать "../../tools"
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область РаботаСФайлами
|
||||
|
||||
// Загрузить файл
|
||||
// Загружает одиночный файл на сервер Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Путь - Строка - Целевой путь файла на Neocities - path
|
||||
// Данные - Строка, ДвоичныеДанные - URL, путь или данные файла для загрузки - file
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция ЗагрузитьФайл(Знач Токен, Знач Путь, Знач Данные) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(Данные);
|
||||
|
||||
URL = "https://neocities.org/api/upload";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
СоответствиеФайла = Новый Соответствие;
|
||||
СоответствиеФайла.Вставить(Путь + "|" + Путь, Данные);
|
||||
|
||||
Ответ = OPI_Инструменты.PostMultipart(URL, , СоответствиеФайла, "multipart/form-data", Заголовки);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Загрузить файлы
|
||||
// Загружает несколько файлов на сервер Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// СоответствиеФайлов - Соответствие Из КлючИЗначение - Файлы для загрузки: Ключ > путь на NC, Значение - Файл - files
|
||||
// ПоОдному - Булево - Истина > отправляет файлы отдельными запросами - singly
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция ЗагрузитьФайлы(Знач Токен, Знач СоответствиеФайлов, Знач ПоОдному = Ложь) Экспорт
|
||||
|
||||
КонечныйОтвет = Новый Массив;
|
||||
ОбработанноеСоответствие = Новый Соответствие;
|
||||
|
||||
Для Каждого ФайлОтправки Из СоответствиеФайлов Цикл
|
||||
|
||||
Если ПоОдному Тогда
|
||||
|
||||
Ответ = ЗагрузитьФайл(Токен, ФайлОтправки.Ключ, ФайлОтправки.Значение);
|
||||
КонечныйОтвет.Добавить(Ответ);
|
||||
|
||||
Иначе
|
||||
|
||||
ТекущийПуть = ФайлОтправки.Ключ;
|
||||
ТекущиеДанные = ФайлОтправки.Значение;
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(ТекущийПуть);
|
||||
OPI_ПреобразованиеТипов.ПолучитьДвоичныеДанные(ТекущиеДанные);
|
||||
|
||||
ОбработанноеСоответствие.Вставить(ТекущийПуть + "|" + ТекущийПуть, ТекущиеДанные);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ПоОдному Тогда
|
||||
|
||||
URL = "https://neocities.org/api/upload";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
|
||||
КонечныйОтвет = OPI_Инструменты.PostMultipart(URL
|
||||
,
|
||||
, ОбработанноеСоответствие
|
||||
, "multipart/form-data"
|
||||
, Заголовки);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат КонечныйОтвет;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Удалить выбранные файлы
|
||||
// Удаляет файл или несколько файлов с сервера Neocities
|
||||
//
|
||||
// Примечание:
|
||||
// Документация Neocities API: [neocities.org/api](@neocities.org/api)
|
||||
//
|
||||
// Параметры:
|
||||
// Токен - Строка - Токен авторизации - token
|
||||
// Пути - Строка, Массив Из Строка - Путь или несколько путей удаляемых файлов - paths
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Neocities
|
||||
Функция УдалитьВыбранныеФайлы(Знач Токен, Знач Пути) Экспорт
|
||||
|
||||
URL = "https://neocities.org/api/delete";
|
||||
Заголовки = СоздатьЗаголовкиЗапроса(Токен);
|
||||
Параметры = Новый Структура;
|
||||
|
||||
OPI_Инструменты.ДобавитьПоле("filenames", Пути, "Массив", Параметры);
|
||||
|
||||
Ответ = OPI_Инструменты.Post(URL, Параметры, Заголовки, Ложь);
|
||||
|
||||
Возврат Ответ;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция СоздатьЗаголовкиЗапроса(Знач Токен)
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Токен);
|
||||
|
||||
Заголовки = Новый Соответствие;
|
||||
Заголовки.Вставить("Authorization", "Bearer " + Токен);
|
||||
Возврат Заголовки;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
11
src/ru/OPI/src/CommonModules/OPI_Neocities/OPI_Neocities.mdo
Normal file
11
src/ru/OPI/src/CommonModules/OPI_Neocities/OPI_Neocities.mdo
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5128c6b7-5449-4a95-954d-4bb73e6b1c7d">
|
||||
<name>OPI_Neocities</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Neocities (ОПИ)</value>
|
||||
</synonym>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -64,6 +64,7 @@
|
||||
Разделы.Вставить("Bitrix24" , 5);
|
||||
Разделы.Вставить("VkTeams" , 5);
|
||||
Разделы.Вставить("Ozon" , 5);
|
||||
Разделы.Вставить("Neocities" , 5);
|
||||
|
||||
Возврат Разделы;
|
||||
|
||||
@ -87,6 +88,7 @@
|
||||
Битрикс = "Bitrix24";
|
||||
ВКТ = "VkTeams";
|
||||
Озон = "Ozon";
|
||||
Неоситиз = "Neocities";
|
||||
|
||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||
@ -239,6 +241,8 @@
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_ЦеныИОстаткиТоваров" , "Цены и остатки товаров" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСАкциями" , "Работа с акциями" , Озон);
|
||||
НовыйТест(ТаблицаТестов, "ОзонАПИ_РаботаСоСкладами" , "Работа со складами" , Озон);
|
||||
|
||||
НовыйТест(ТаблицаТестов, "НС_РаботаСФайлами" , "Работа с файлами" , Неоситиз);
|
||||
|
||||
Возврат ТаблицаТестов;
|
||||
|
||||
|
@ -3034,6 +3034,24 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
||||
Процедура НС_РаботаСФайлами() Экспорт
|
||||
|
||||
ПараметрыТеста = Новый Структура;
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("NC_Token" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Picture2" , ПараметрыТеста);
|
||||
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Gif" , ПараметрыТеста);
|
||||
|
||||
Neocities_ЗагрузитьФайл(ПараметрыТеста);
|
||||
Neocities_ЗагрузитьФайлы(ПараметрыТеста);
|
||||
Neocities_УдалитьВыбранныеФайлы(ПараметрыТеста);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
@ -4016,6 +4034,12 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Проверка_НСУспех(Знач Результат)
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).Равно("success");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область АтомарныеТесты
|
||||
@ -13051,6 +13075,82 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Neocities
|
||||
|
||||
Процедура Neocities_ЗагрузитьФайл(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
Данные = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||
Путь = "testfolder/test_pic.png";
|
||||
|
||||
Результат = OPI_Neocities.ЗагрузитьФайл(Токен, Путь, Данные);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайл", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Neocities_ЗагрузитьФайлы(ПараметрыФункции)
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
|
||||
Картинка1 = ПараметрыФункции["Picture"]; // URL, Путь или Двоичные данные
|
||||
Картинка2 = ПараметрыФункции["Picture2"]; // URL, Путь или Двоичные данные
|
||||
Гифка = ПараметрыФункции["Gif"]; // URL, Путь или Двоичные данные
|
||||
|
||||
СоответствиеФайлов = Новый Соответствие;
|
||||
СоответствиеФайлов.Вставить("test/pic1.png", Картинка1);
|
||||
СоответствиеФайлов.Вставить("test/gif.gif" , Картинка2);
|
||||
СоответствиеФайлов.Вставить("pic2.png" , Гифка);
|
||||
|
||||
Результат = OPI_Neocities.ЗагрузитьФайлы(Токен, СоответствиеФайлов);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ЗагрузитьФайлы", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Neocities_УдалитьВыбранныеФайлы(ПараметрыФункции)
|
||||
|
||||
OPI_Инструменты.Пауза(120); // SKIP
|
||||
|
||||
Токен = ПараметрыФункции["NC_Token"];
|
||||
|
||||
Пути = Новый Массив;
|
||||
Пути.Добавить("/test/pic1.png");
|
||||
Пути.Добавить("/test/gif.gif");
|
||||
Пути.Добавить("/pic2.png");
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, Пути);
|
||||
|
||||
// END
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы", "Neocities");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, "/testfolder");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы (каталог 1)");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
Результат = OPI_Neocities.УдалитьВыбранныеФайлы(Токен, "/test");
|
||||
|
||||
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьВыбранныеФайлы (каталог 2)");
|
||||
|
||||
Проверка_НСУспех(Результат);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -60,6 +60,7 @@
|
||||
<commonModules>CommonModule.OPI_Bitrix24</commonModules>
|
||||
<commonModules>CommonModule.OPI_VKTeams</commonModules>
|
||||
<commonModules>CommonModule.OPI_Ozon</commonModules>
|
||||
<commonModules>CommonModule.OPI_Neocities</commonModules>
|
||||
<commonModules>CommonModule.OPI_Тесты</commonModules>
|
||||
<commonModules>CommonModule.OPI_ПолучениеДанныхТестов</commonModules>
|
||||
</mdclass:Configuration>
|
||||
|
Loading…
x
Reference in New Issue
Block a user