-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #157 from alei1180/feat/connector
feat/connector
- Loading branch information
Showing
28 changed files
with
4,708 additions
and
1,435 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
<package-def> | ||
<class name="ГенераторПрограммногоКода1С" file="src/core/Классы/ГенераторПрограммногоКода1С.os"/> | ||
<class name="ПарсерКонсольнойКоманды" file="src/core/Классы/ПарсерКонсольнойКоманды.os"/> | ||
<class name="КонвертерКомандыCURL" file="src/core/Классы/КонвертерКомандыCURL.os"/> | ||
<class name="ПарсерКонсольнойКоманды" file="src/core/Классы/ПарсерКонсольнойКоманды.os"/> | ||
<class name="ГенераторПрограммногоКода1С" file="src/core/Классы/ГенераторПрограммногоКода1С.os"/> | ||
<class name="ГенераторПрограммногоКодаКоннекторHTTP" file="src/core/Классы/ГенераторПрограммногоКодаКоннекторHTTP.os"/> | ||
</package-def> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
#Использовать coloratos | ||
#Использовать "../../core" | ||
#Использовать "../../internal" | ||
|
||
Перем ВходящиеАргументы; // Массив из Строка | ||
Перем Генератор; // Объект генератора программного кода | ||
Перем РезультатКонвертации; // Строка | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
Процедура Конвертировать() Экспорт | ||
|
||
Генератор = Неопределено; | ||
|
||
Если Не НайденаКоманда() Тогда | ||
ВызватьИсключение "Не найдена команда convert"; | ||
КонецЕсли; | ||
|
||
ПодготовленныеАргументы = ПодготовитьАргументы(); | ||
|
||
Ошибки = Новый Массив(); | ||
КонвертерКомандыCURL = Новый КонвертерКомандыCURL(); | ||
|
||
Попытка | ||
РезультатКонвертации = КонвертерКомандыCURL.Конвертировать(ПодготовленныеАргументы, Генератор, Ошибки); | ||
Исключение | ||
РезультатКонвертации = ""; | ||
Ошибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()))); | ||
КонецПопытки; | ||
|
||
Для Каждого Ошибка Из Ошибки Цикл | ||
Цвет = ?(Ошибка.Критичная, "Красный", "Желтый"); | ||
ЦветнойВывод.Вывести("// "); | ||
ЦветнойВывод.ВывестиСтроку(Ошибка.Текст, Цвет); | ||
КонецЦикла; | ||
|
||
Если ЗначениеЗаполнено(РезультатКонвертации) Тогда | ||
Если Ошибки.Количество() Тогда | ||
Консоль.Вывести(Символы.ПС); | ||
КонецЕсли; | ||
|
||
Консоль.Вывести(РезультатКонвертации); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
Функция НайденаКоманда() Экспорт | ||
Возврат ВходящиеАргументы.Количество() И НРег(ВходящиеАргументы[0]) = "convert"; | ||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныйПрограммныйИнтерфейс | ||
|
||
Функция ПолучитьРезультат() Экспорт | ||
Возврат РезультатКонвертации; | ||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
Процедура ПриСозданииОбъекта(Аргументы) | ||
ВходящиеАргументы = Аргументы; | ||
РезультатКонвертации = ""; | ||
КонецПроцедуры | ||
|
||
Функция ПодготовитьАргументы() | ||
|
||
ПодготовленныеАргументы = Новый Массив(); | ||
ОбщегоНазначения.ДополнитьМассив(ПодготовленныеАргументы, ВходящиеАргументы); | ||
|
||
ПодготовленныеАргументы[0] = "curl"; | ||
|
||
ПрочитатьАргументГенератора(ПодготовленныеАргументы); | ||
УдалитьПовторяющийАргументCurl(ПодготовленныеАргументы); | ||
|
||
Возврат ПодготовленныеАргументы; | ||
|
||
КонецФункции | ||
|
||
Процедура УдалитьПовторяющийАргументCurl(Аргументы) | ||
|
||
Если Аргументы.Количество() > 1 И НРег(Аргументы[1]) = "curl" Тогда | ||
Аргументы.Удалить(1); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ПрочитатьАргументГенератора(Аргументы) | ||
|
||
ИндексАргумента = 1; | ||
|
||
Если Аргументы.Количество() > ИндексАргумента Тогда | ||
Аргумент = НРег(Аргументы[ИндексАргумента]); | ||
Генератор = ПолучитьГенераторПоАргументу(Аргумент); | ||
КонецЕсли; | ||
|
||
Если Генератор = Неопределено Тогда | ||
Генератор = ГенераторПоУмолчанию(); | ||
Иначе | ||
Аргументы.Удалить(ИндексАргумента); | ||
КонецЕсли; | ||
|
||
КонецПроцедуры | ||
|
||
Функция ПолучитьГенераторПоАргументу(Аргумент) | ||
Если Аргумент = "connector" Тогда | ||
Возврат Новый ГенераторПрограммногоКодаКоннекторHTTP(); | ||
ИначеЕсли Аргумент = "1c" Тогда | ||
Возврат Новый ГенераторПрограммногоКода1С(); | ||
КонецЕсли; | ||
КонецФункции | ||
|
||
Функция ГенераторПоУмолчанию() | ||
Возврат Новый ГенераторПрограммногоКода1С(); | ||
КонецФункции | ||
|
||
#КонецОбласти |
Oops, something went wrong.