You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-22 10:05:29 +02:00
CLI: Новый способ дополнения подсказок опций
This commit is contained in:
@@ -8,8 +8,9 @@
|
||||
Перем ТаблицаОписанийПараметров;
|
||||
Перем ОбщийМассивМодулей;
|
||||
Перем ТекущийФайлСостава;
|
||||
Перем КаталогДополненийОпций;
|
||||
|
||||
Процедура СформироватьCLI(Знач Корень, Знач Языки) Экспорт
|
||||
Процедура СформироватьCLI(Знач Корень, Знач Языки, Знач КаталогДополнений) Экспорт
|
||||
|
||||
Для Каждого Язык Из Языки Цикл
|
||||
|
||||
@@ -17,9 +18,10 @@
|
||||
СоздатьОснову(Язык, Корень);
|
||||
КонецЕсли;
|
||||
|
||||
МодульСоставаОПИ = Новый ТекстовыйДокумент();
|
||||
ФайлСоставаОПИ = Корень + Язык + "/cli/data/Classes/СоставБиблиотеки.os";
|
||||
КаталогСписковСотава = Корень + Язык + "/cli/data/Classes/internal/Classes/";
|
||||
МодульСоставаОПИ = Новый ТекстовыйДокумент();
|
||||
ФайлСоставаОПИ = Корень + Язык + "/cli/data/Classes/СоставБиблиотеки.os";
|
||||
КаталогСписковСотава = Корень + Язык + "/cli/data/Classes/internal/Classes/";
|
||||
КаталогДополненийОпций = КаталогДополнений;
|
||||
|
||||
ЗаписатьНачалоФайла();
|
||||
ЗаписатьФункциюОпределенияВерсии();
|
||||
@@ -413,218 +415,53 @@
|
||||
|
||||
Процедура ОпределитьДопОписаниеПоПараметру(ТекстДополнения, ИмяМодуля, ИмяПараметра)
|
||||
|
||||
Если ИмяМодуля = "OPI_VK" Тогда
|
||||
Если ИмяПараметра = "--auth" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных авторизации (параметр --auth):
|
||||
| {
|
||||
| ""access_token"": """",
|
||||
| ""owner_id"" : """",
|
||||
| ""app_id"" : """",
|
||||
| ""group_id"" : """"
|
||||
| }
|
||||
|";
|
||||
ИначеЕсли ИмяПараметра = "--product" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных описания товара (параметр --product):
|
||||
| {
|
||||
| ""Имя"" : ""Новый товар"",
|
||||
| ""Описание"" : ""Описание товара"",
|
||||
| ""Категория"" : ""20173"",
|
||||
| ""Цена"" : 1,
|
||||
| ""СтараяЦена"" : """",
|
||||
| ""ОсновноеФото"" : """",
|
||||
| ""URL"" : """",
|
||||
| ""ДополнительныеФото"" : [],
|
||||
| ""ЗначенияСвойств"" : [],
|
||||
| ""ГлавныйВГруппе"" : ""Ложь"",
|
||||
| ""Ширина"" : """",
|
||||
| ""Высота"" : """",
|
||||
| ""Глубина"" : """",
|
||||
| ""Вес"" : """",
|
||||
| ""SKU"" : """",
|
||||
| ""ДоступныйОстаток"" : ""1""
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ИмяФайлаДополнения = КаталогДополненийОпций
|
||||
+ СтрЗаменить(ИмяМодуля, "OPI_", "")
|
||||
+ "/"
|
||||
+ СтрЗаменить(ИмяПараметра, "--", "")
|
||||
+ ".txt";
|
||||
|
||||
Если ИмяМодуля = "OPI_Telegram" Тогда
|
||||
Если ИмяПараметра = "--media" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных медиагруппы (параметр --media):
|
||||
| {
|
||||
| ""ПутьКФайлу"": ""ТипМедиа"",
|
||||
| ""ПутьКФайлу"": ""ТипМедиа"",
|
||||
| ...
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ОбъектФайлаДополнения = Новый Файл(ИмяФайлаДополнения);
|
||||
|
||||
Если ИмяМодуля = "OPI_Twitter" Тогда
|
||||
Если ИмяПараметра = "--auth" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных авторизации (параметр --auth):
|
||||
| {
|
||||
| ""redirect_uri"" : """",
|
||||
| ""client_id"" : """",
|
||||
| ""client_secret"" : """",
|
||||
| ""access_token"" : """",
|
||||
| ""refresh_token"" : """",
|
||||
| ""oauth_token"" : """",
|
||||
| ""oauth_token_secret"" : """",
|
||||
| ""oauth_consumer_key"" : """",
|
||||
| ""oauth_consumer_secret"" : """"
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяМодуля = "OPI_Notion" Тогда
|
||||
Если ИмяПараметра = "--data" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных страницы (параметр --data):
|
||||
| {
|
||||
| ""Имя поля БД 1"" : ""Значение1"",
|
||||
| ""Имя поля БД 2"" : ""Значение2"",
|
||||
| ...
|
||||
| }
|
||||
|";
|
||||
ИначеЕсли ИмяПараметра = "--props" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON полей базы (параметр --props):
|
||||
| {
|
||||
| ""Имя поля БД c обычным типом"" : ""Тип данных 1"",
|
||||
| ""Имя поля БД с выбором значения"" :
|
||||
| {
|
||||
| ""Вариант1"" : ""green"",
|
||||
| ""Вариант2"" : ""red"",
|
||||
| ...
|
||||
| },
|
||||
| ...
|
||||
| }
|
||||
|
|
||||
| Доуступные типы: title(ключевой), rich_text, number, status,
|
||||
| date, files, checkbox, url, email, phone_number, people
|
||||
|";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяМодуля = "OPI_GoogleCalendar" Тогда
|
||||
Если ИмяПараметра = "--props" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных события (параметр --props):
|
||||
| {
|
||||
| ""Описание"" : """",
|
||||
| ""Заголовок"" : """",
|
||||
| ""МестоПроведения"" : """",
|
||||
| ""ДатаНачала"" : """",
|
||||
| ""ДатаОкончания"" : """",
|
||||
| ""МассивURLФайловВложений"" :
|
||||
| {
|
||||
| ""НазваниеФайла1"" : ""URLФайла1"",
|
||||
| ""НазваниеФайла2"" : ""URLФайла2"",
|
||||
| ...
|
||||
| },
|
||||
| ""ОтправлятьУведомления"" : true
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
Если Не ОбъектФайлаДополнения.Существует() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяМодуля = "OPI_GoogleDrive" Тогда
|
||||
Если ИмяПараметра = "--props" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных объекта (параметр --props):
|
||||
| {
|
||||
| ""MIME"" : ""image/jpeg"",
|
||||
| ""Имя"" : ""Новый файл.jpg"",
|
||||
| ""Описание"" : ""Это новый файл"",
|
||||
| ""Родитель"" : ""root""
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
ТекстовыйДокумент = Новый ТекстовыйДокумент();
|
||||
ТекстовыйДокумент.Прочитать(ИмяФайлаДополнения, "UTF-8");
|
||||
ТекстДополненияФайла = СокрЛП(ТекстовыйДокумент.ПолучитьТекст());
|
||||
|
||||
Если Не ЗначениеЗаполнено(ТекстДополненияФайла) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяМодуля = "OPI_GoogleSheets" Тогда
|
||||
Если ИмяПараметра = "--data" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных ячеек (параметр --data):
|
||||
| {
|
||||
| ""A1"": ""Это данные ячейки A1"",
|
||||
| ""B2"": ""Это данные ячейки B2"",
|
||||
| ...
|
||||
| }
|
||||
|";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
ЧислоСтрок = СтрЧислоСтрок(ТекстДополненияФайла);
|
||||
ВставленоПримечание = Ложь;
|
||||
ТекстДополнения = ТекстДополнения + Символы.ПС;
|
||||
|
||||
Если ИмяМодуля = "OPI_Airtable" Тогда
|
||||
Для Н = 1 По ЧислоСтрок Цикл
|
||||
|
||||
ФункцииПолей = "Функции формирования описаний полей: "
|
||||
+ "ПолучитьПолеСтроковое, "
|
||||
+ "ПолучитьПолеНомера, "
|
||||
+ "ПолучитьПолеВложения, "
|
||||
+ "ПолучитьПолеФлажка, "
|
||||
+ "ПолучитьПолеДаты, "
|
||||
+ "ПолучитьПолеПочты, "
|
||||
+ "ПолучитьПолеТелефона, "
|
||||
+ "ПолучитьПолеСсылки";
|
||||
ТекущаяСтрока = СтрПолучитьСтроку(ТекстДополненияФайла, Н);
|
||||
|
||||
Если ИмяПараметра = "--fielddata" Тогда
|
||||
ТекстДополнения = ТекстДополнения + Символы.ПС + ФункцииПолей + Символы.ПС;
|
||||
КонецЕсли;
|
||||
Если СтрНачинаетсяС(СокрЛ(ТекущаяСтрока), "{")
|
||||
И Не ВставленоПримечание Тогда
|
||||
|
||||
Если ИмяПараметра = "--fieldsdata" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных массива полей (параметр --fieldsdata):
|
||||
| [
|
||||
| {
|
||||
| <Данные описание поля 1>
|
||||
| },
|
||||
| {
|
||||
| <Данные описание поля 2>
|
||||
| },
|
||||
| ]
|
||||
|";
|
||||
|
||||
ТекстДополнения = ТекстДополнения + Символы.ПС + ФункцииПолей + Символы.ПС;
|
||||
ВставленоПримечание = Истина;
|
||||
ТекстДополнения = ТекстДополнения
|
||||
+ " Структура заполнения опции "
|
||||
+ ИмяПараметра
|
||||
+ ":"
|
||||
+ Символы.ПС;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ИмяПараметра = "--tablesdata" Тогда
|
||||
ТекстДополнения = ТекстДополнения + "
|
||||
|
|
||||
| Структура JSON данных описания таблиц (параметр --tablesdata):
|
||||
| {
|
||||
| ""Имя таблицы 1"": [
|
||||
| {
|
||||
| <Данные описание поля 1>
|
||||
| },
|
||||
| {
|
||||
| <Данные описание поля 2>
|
||||
| },
|
||||
| ],
|
||||
| ...
|
||||
| }
|
||||
|";
|
||||
ТекстДополнения = ТекстДополнения
|
||||
+ " "
|
||||
+ ТекущаяСтрока
|
||||
+ Символы.ПС;
|
||||
|
||||
ТекстДополнения = ТекстДополнения + Символы.ПС + ФункцииПолей + Символы.ПС;
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьСозданиеПараметраСостава(СтрокаПараметра, ИмяМетода, Область, ОписаниеМетода = "")
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
Перем ОсновнойЯзык;
|
||||
Перем КаталогWorkflow;
|
||||
Перем КаталогПараметровЛок;
|
||||
Перем КаталогДополнений;
|
||||
|
||||
Процедура ПриСозданииОбъекта()
|
||||
|
||||
@@ -28,6 +29,7 @@
|
||||
КаталогСловарей = ДанныеПроекта["dictionariesSrc"];
|
||||
КаталогWorkflow = ДанныеПроекта["workflowsSrc"];
|
||||
КаталогПараметровЛок = ДанныеПроекта["locVarsSrc"];
|
||||
КаталогДополнений = ДанныеПроекта["paramsExamplesSrc"];
|
||||
|
||||
ОсновнойПутьИсходников = Корень + ОсновнойЯзык + "/";
|
||||
ПутьПакета = ОсновнойПутьИсходников + КаталогПакета;
|
||||
@@ -67,7 +69,7 @@
|
||||
|
||||
Языки.Добавить(ОсновнойЯзык);
|
||||
|
||||
МетодыCLI.СформироватьCLI(Корень, Языки);
|
||||
МетодыCLI.СформироватьCLI(Корень, Языки, КаталогДополнений);
|
||||
МетодыФормированияТестовGA.СоздатьНаборWorkflow(Языки, КаталогПараметровЛок, КаталогWorkflow);
|
||||
|
||||
Иначе
|
||||
|
||||
Reference in New Issue
Block a user