mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-16 11:38:11 +02:00
110 lines
5.3 KiB
Plaintext
110 lines
5.3 KiB
Plaintext
|
ПутьКДокам = "./docs/ru/md";
|
||
|
ПутьКПримерам = "./docs/ru/examples/";
|
||
|
ПутьКРезультатам = "./docs/ru/results/";
|
||
|
|
||
|
КаталогиБиблиотек = НайтиФайлы(ПутьКДокам, "*", Ложь);
|
||
|
|
||
|
Для Каждого Каталог Из КаталогиБиблиотек Цикл
|
||
|
|
||
|
ФайлыДокументации = НайтиФайлы(Каталог.ПолноеИмя, "*.md", Истина);
|
||
|
ИмяБиблиотеки = Каталог.Имя;
|
||
|
|
||
|
Для Каждого Документ Из ФайлыДокументации Цикл
|
||
|
|
||
|
ТекущийДокумент = Новый ТекстовыйДокумент();
|
||
|
ТекущийДокумент.Прочитать(Документ.ПолноеИмя, "UTF-8");
|
||
|
|
||
|
ЗаписьПримера = Ложь;
|
||
|
ЗаписьРезультата = Ложь;
|
||
|
Пример = "";
|
||
|
Результат = "";
|
||
|
ИмяФункции = "";
|
||
|
Для Н = 1 По ТекущийДокумент.КоличествоСтрок() Цикл
|
||
|
|
||
|
ТекущаяСтрока = СокрЛП(ТекущийДокумент.ПолучитьСтроку(Н));
|
||
|
|
||
|
Если СтрНачинаетсяС(ТекущаяСтрока, "*Функция ")
|
||
|
Или СтрНачинаетсяС(ТекущаяСтрока, "Функция ") Тогда
|
||
|
|
||
|
ИмяФункции = СтрЗаменить(ТекущаяСтрока, "*Функция ", "");
|
||
|
ИмяФункции = СтрЗаменить(ИмяФункции, "Функция ", "");
|
||
|
ИмяФункции = Лев(ИмяФункции, СтрНайти(ИмяФункции, "(") - 1);
|
||
|
|
||
|
КонецЕсли;
|
||
|
|
||
|
Если СтрНачинаетсяС(ТекущаяСтрока, "```bsl") Тогда
|
||
|
ЗаписьПримера = Истина;
|
||
|
ИначеЕсли СтрНачинаетсяС(ТекущаяСтрока, "```json") Тогда
|
||
|
ЗаписьРезультата = Истина;
|
||
|
ИначеЕсли СтрНачинаетсяС(ТекущаяСтрока, "```") Тогда
|
||
|
ЗаписьРезультата = Ложь;
|
||
|
ЗаписьПримера = Ложь;
|
||
|
Иначе
|
||
|
|
||
|
Если ЗаписьПримера Тогда
|
||
|
Пример = Пример + " " + ТекущаяСтрока + Символы.ПС;
|
||
|
КонецЕсли;
|
||
|
|
||
|
Если ЗаписьРезультата Тогда
|
||
|
Результат = Результат + " " + ТекущаяСтрока + Символы.ПС;
|
||
|
КонецЕсли;
|
||
|
|
||
|
КонецЕсли;
|
||
|
|
||
|
КонецЦикла;
|
||
|
|
||
|
Если Не ЗначениеЗаполнено(ИмяФункции) Тогда
|
||
|
Сообщить("Документ без имени функции: " + Документ.ПолноеИмя);
|
||
|
Продолжить;
|
||
|
КонецЕсли;
|
||
|
|
||
|
Если ЗначениеЗаполнено(СокрЛП(Результат)) Тогда
|
||
|
|
||
|
ПутьБиблиотеки = ПутьКРезультатам + СтрЗаменить(ИмяБиблиотеки, "_", "");
|
||
|
КаталогБиблиотеки = Новый Файл(ПутьБиблиотеки);
|
||
|
|
||
|
Если Не КаталогБиблиотеки.Существует() Тогда
|
||
|
СоздатьКаталог(ПутьБиблиотеки);
|
||
|
КонецЕсли;
|
||
|
|
||
|
ПутьРезультата = ПутьБиблиотеки + "/" + ИмяФункции + ".log";
|
||
|
ФайлРезультата = Новый Файл(ПутьРезультата);
|
||
|
|
||
|
Если ФайлРезультата.Существует() Тогда
|
||
|
Сообщить("Файл результата существует: " + ПутьРезультата);
|
||
|
Иначе
|
||
|
ДокументРезультата = Новый ТекстовыйДокумент();
|
||
|
ДокументРезультата.УстановитьТекст(Результат);
|
||
|
ДокументРезультата.Записать(ПутьРезультата);
|
||
|
Сообщить("Файл результата записан: " + ПутьРезультата);
|
||
|
КонецЕсли;
|
||
|
|
||
|
КонецЕсли;
|
||
|
|
||
|
Если ЗначениеЗаполнено(СокрЛП(Пример)) Тогда
|
||
|
|
||
|
ПутьБиблиотеки = ПутьКПримерам + СтрЗаменить(ИмяБиблиотеки, "_", "");
|
||
|
КаталогБиблиотеки = Новый Файл(ПутьБиблиотеки);
|
||
|
|
||
|
Если Не КаталогБиблиотеки.Существует() Тогда
|
||
|
СоздатьКаталог(ПутьБиблиотеки);
|
||
|
КонецЕсли;
|
||
|
|
||
|
ПутьПримера = ПутьБиблиотеки + "/" + ИмяФункции + ".txt";
|
||
|
ФайлПримера = Новый Файл(ПутьПримера);
|
||
|
|
||
|
Если ФайлПримера.Существует() Тогда
|
||
|
Сообщить("Файл примера существует: " + ПутьПримера);
|
||
|
Иначе
|
||
|
ДокументПримера = Новый ТекстовыйДокумент();
|
||
|
ДокументПримера.УстановитьТекст(Пример);
|
||
|
ДокументПримера.Записать(ПутьПримера);
|
||
|
Сообщить("Файл примера записан: " + ПутьПримера);
|
||
|
КонецЕсли;
|
||
|
|
||
|
КонецЕсли;
|
||
|
|
||
|
|
||
|
КонецЦикла;
|
||
|
|
||
|
КонецЦикла;
|