Skip to content

Commit e56f8ea

Browse files
committed
Скорректированы модули под рекомендации oscript-app-template (C) EvilBeaver
1 parent 65a14a3 commit e56f8ea

12 files changed

+221
-207
lines changed

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Описание.Имя("gitsync")
3-
.Версия(Константы_gitsync.ВерсияПродукта())
3+
.Версия(ПараметрыСистемы.ВерсияПродукта())
44
.ВерсияСреды("1.0.15")
55
.ЗависитОт("logos")
66
.ЗависитОт("cmdline")

src/core/Классы/КомандаAll.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаClone.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаExport.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаInit.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаSetVersion.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаSync.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта deployka
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

src/core/Классы/КомандаСправкаПоПараметрам.os

Lines changed: 4 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
// Представляет собой модификацию приложения gitsync от
66
// команды oscript-library
77
//
8-
// Идея формата модуля взята из проекта oscript-template
8+
// Структура модуля реализована в соответствии с рекомендациями
9+
// oscript-app-template (C) EvilBeaver
910
//
1011
///////////////////////////////////////////////////////////////////
1112

@@ -39,60 +40,12 @@
3940

4041
Процедура ПоказатьВозможныеКоманды(Знач Парсер)
4142

42-
ВозможныеКоманды = Парсер.СправкаВозможныеКоманды();
43-
Сообщить(" ");
44-
Сообщить("Возможные команды:");
45-
46-
МаксШирина = 0;
47-
Для Каждого Команда Из ВозможныеКоманды Цикл
48-
49-
МаксШирина = Макс(МаксШирина, СтрДлина(Команда.Команда));
50-
51-
КонецЦикла;
52-
53-
Поле = " ";
54-
Для Каждого Команда Из ВозможныеКоманды Цикл
55-
56-
Сообщить(" " + Лев(Команда.Команда + Поле, МаксШирина + 2) + "- " + Команда.Пояснение);
57-
58-
КонецЦикла;
59-
60-
Сообщить(" ");
61-
Сообщить("Для подсказки по конкретной команде наберите help <команда>");
43+
Парсер.ВывестиСправкуПоКомандам();
6244

6345
КонецПроцедуры // ПоказатьВозможныеКоманды
6446

6547
Процедура ПоказатьСправкуПоКоманде(Знач Парсер, Знач ИмяКоманды)
6648

67-
ВозможныеКоманды = Парсер.СправкаВозможныеКоманды();
68-
ОписаниеКоманды = ВозможныеКоманды.Найти(ИмяКоманды, "Команда");
69-
Если ОписаниеКоманды = Неопределено Тогда
70-
71-
Сообщить("Команда отсуствует: " + ИмяКоманды);
72-
Возврат;
73-
74-
КонецЕсли;
75-
76-
Сообщить("" + ОписаниеКоманды.Команда + " - " + ОписаниеКоманды.Пояснение);
77-
ВывестиПараметры(ОписаниеКоманды.Параметры);
49+
Парсер.ВывестиСправкуПоКоманде(ИмяКоманды);
7850

7951
КонецПроцедуры // ПоказатьСправкуПоКоманде
80-
81-
Процедура ВывестиПараметры(Знач ОписаниеПараметров)
82-
83-
Сообщить("Параметры:");
84-
Для Каждого СтрПараметр Из ОписаниеПараметров Цикл
85-
86-
Если Не СтрПараметр.ЭтоИменованныйПараметр Тогда
87-
88-
Сообщить(СтрШаблон(" <%1> - %2", СтрПараметр.Имя, СтрПараметр.Пояснение));
89-
90-
Иначе
91-
92-
Сообщить(СтрШаблон(" %1 - %2", СтрПараметр.Имя, СтрПараметр.Пояснение));
93-
94-
КонецЕсли;
95-
96-
КонецЦикла;
97-
98-
КонецПроцедуры // ВывестиПараметры

src/core/Модули/Константы_gitsync.os

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/core/Модули/МенеджерКомандПриложения.os

Lines changed: 105 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,95 @@
22
//
33
// Служебный модуль с набором методов работы с командами приложения
44
//
5-
// Представляет собой модификацию приложения gitsync от
6-
// команды oscript-library
7-
//
8-
// Идея формата модуля взята из проекта deployka
5+
// Структура модуля реализована в соответствии с рекомендациями
6+
// oscript-app-template (C) EvilBeaver
97
//
108
///////////////////////////////////////////////////////////////////
119

10+
#Использовать logos
11+
#Использовать tempfiles
12+
13+
///////////////////////////////////////////////////////////////////
14+
1215
Перем ИсполнителиКоманд;
16+
Перем РегистраторКоманд;
17+
Перем ДополнительныеПараметры;
18+
19+
///////////////////////////////////////////////////////////////////
1320

1421
Процедура ЗарегистрироватьКоманды(Знач Парсер) Экспорт
1522

16-
ИсполнителиКоманд = Новый Соответствие;
17-
18-
ДобавитьКоманду("help", "КомандаСправкаПоПараметрам", Парсер);
19-
ДобавитьКоманду("clone", "КомандаClone", Парсер);
20-
ДобавитьКоманду("init", "КомандаInit", Парсер);
21-
ДобавитьКоманду("set-version" , "КомандаSetVersion", Парсер);
22-
ДобавитьКоманду("all" , "КомандаAll", Парсер);
23-
ДобавитьКоманду("export", "КомандаExport", Парсер);
24-
ДобавитьКоманду("sync", "КомандаSync", Парсер);
23+
КомандыИРеализация = Новый Соответствие;
24+
РегистраторКоманд.ПриРегистрацииКомандПриложения(КомандыИРеализация);
25+
26+
Для Каждого КлючИЗначение Из КомандыИРеализация Цикл
27+
28+
ДобавитьКоманду(КлючИЗначение.Ключ, КлючИЗначение.Значение, Парсер);
29+
30+
КонецЦикла;
2531

2632
КонецПроцедуры // ЗарегистрироватьКоманды
2733

34+
Процедура РегистраторКоманд(Знач ОбъектРегистратор) Экспорт
35+
36+
ИсполнителиКоманд = Новый Соответствие;
37+
РегистраторКоманд = ОбъектРегистратор;
38+
ДополнительныеПараметры = Новый Структура;
39+
ДополнительныеПараметры.Вставить("Лог", Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()));
40+
ДополнительныеПараметры.Вставить("УдалятьВременныеФайлы", Ложь);
41+
42+
КонецПроцедуры // РегистраторКоманд
43+
2844
Функция ПолучитьКоманду(Знач ИмяКоманды) Экспорт
2945

3046
КлассРеализации = ИсполнителиКоманд[ИмяКоманды];
3147
Если КлассРеализации = Неопределено Тогда
3248

33-
ВызватьИсключение "Неверная операция. Команда '" + ИмяКоманды + "' не предусмотрена";
49+
ВызватьИсключение "Неверная операция. Команда '" + ИмяКоманды + "' не предусмотрена.";
3450

3551
КонецЕсли;
3652

3753
Возврат КлассРеализации;
3854

3955
КонецФункции // ПолучитьКоманду
4056

41-
Функция ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыКоманды, Знач ДополнительныеПараметры) Экспорт
57+
Функция ВыполнитьКоманду(Знач ИмяКоманды, Знач ПараметрыКоманды) Экспорт
58+
59+
УстановитьРежимОтладкиПриНеобходимости(ПараметрыКоманды);
60+
УстановитьРежимУдаленияВременныхФайлов(ПараметрыКоманды);
61+
УстановитьБазовыйКаталогВременныхФайлов(ПараметрыКоманды);
4262

4363
Команда = ПолучитьКоманду(ИмяКоманды);
44-
Возврат Команда.ВыполнитьКоманду(ПараметрыКоманды, ДополнительныеПараметры);
64+
КодВозврата = Команда.ВыполнитьКоманду(ПараметрыКоманды, ДополнительныеПараметры);
65+
УдалитьВременныеФайлыПриНеобходимости();
66+
67+
Возврат КодВозврата;
4568

4669
КонецФункции // ВыполнитьКоманду
4770

71+
Процедура ПоказатьСправкуПоКомандам(ИмяКоманды = Неопределено) Экспорт
72+
73+
ПараметрыКоманды = Новый Соответствие;
74+
Если ИмяКоманды <> Неопределено Тогда
75+
76+
ПараметрыКоманды.Вставить("Команда", ИмяКоманды);
77+
78+
КонецЕсли;
79+
80+
ВыполнитьКоманду("help", ПараметрыКоманды);
81+
82+
КонецПроцедуры // ПоказатьСправкуПоКомандам
83+
84+
Процедура ДобавитьКоманду(Знач ИмяКоманды, Знач КлассРеализации, Знач Парсер)
85+
86+
РеализацияКоманды = Новый(КлассРеализации);
87+
РеализацияКоманды.ЗарегистрироватьКоманду(ИмяКоманды, Парсер);
88+
ИсполнителиКоманд.Вставить(ИмяКоманды, РеализацияКоманды);
89+
90+
КонецПроцедуры
91+
92+
///////////////////////////////////////////////////////////////////
93+
4894
Функция РезультатыКоманд() Экспорт
4995

5096
РезультатыКоманд = Новый Структура;
@@ -63,23 +109,51 @@
63109

64110
КонецФункции // КодВозвратаКоманды
65111

66-
Процедура ДобавитьКоманду(Знач ИмяКоманды, Знач КлассРеализации, Знач Парсер)
67-
68-
РеализацияКоманды = Новый(КлассРеализации);
69-
РеализацияКоманды.ЗарегистрироватьКоманду(ИмяКоманды, Парсер);
70-
ИсполнителиКоманд.Вставить(ИмяКоманды, РеализацияКоманды);
71-
72-
КонецПроцедуры // ДобавитьКоманду
73-
74-
Процедура ПоказатьСправкуПоКомандам(ИмяКоманды = Неопределено) Экспорт
75-
76-
ПараметрыКоманды = Новый Соответствие;
77-
Если ИмяКоманды <> Неопределено Тогда
112+
///////////////////////////////////////////////////////////////////
78113

79-
ПараметрыКоманды.Вставить("Команда", ИмяКоманды);
114+
Процедура УдалитьВременныеФайлыПриНеобходимости()
115+
116+
Если ДополнительныеПараметры.УдалятьВременныеФайлы Тогда
117+
118+
ВременныеФайлы.Удалить();
119+
120+
КонецЕсли;
121+
122+
КонецПроцедуры // УдалитьВременныеФайлыПриНеобходимости
80123

124+
Процедура УстановитьРежимОтладкиПриНеобходимости(Знач ПараметрыКоманды)
125+
126+
Если ПараметрыКоманды["-verbose"] = "on" ИЛИ ПараметрыКоманды["-debug"] = "on" Тогда
127+
128+
ДополнительныеПараметры.Лог.УстановитьУровень(УровниЛога.Отладка);
129+
81130
КонецЕсли;
131+
132+
КонецПроцедуры // УстановитьРежимОтладкиПриНеобходимости
82133

83-
ВыполнитьКоманду("help", ПараметрыКоманды, Неопределено);
134+
Процедура УстановитьРежимУдаленияВременныхФайлов(Знач ПараметрыКоманды)
135+
136+
Если ПараметрыКоманды["-debug"] = "on" Тогда
137+
138+
ДополнительныеПараметры.УдалятьВременныеФайлы = Истина;
139+
140+
КонецЕсли;
141+
142+
КонецПроцедуры // УстановитьРежимУдаленияВременныхФайлов
84143

85-
КонецПроцедуры // ПоказатьСправкуПоКомандам
144+
Процедура УстановитьБазовыйКаталогВременныхФайлов(Знач ПараметрыКоманды)
145+
146+
Если ЗначениеЗаполнено(ПараметрыКоманды["-tempdir"]) Тогда
147+
148+
БазовыйКаталог = ПараметрыКоманды["-tempdir"];
149+
Если Не (Новый Файл(БазовыйКаталог).Существует()) Тогда
150+
151+
СоздатьКаталог(БазовыйКаталог);
152+
153+
КонецЕсли;
154+
155+
ВременныеФайлы.БазовыйКаталог = БазовыйКаталог;
156+
157+
КонецЕсли;
158+
159+
КонецПроцедуры // УстановитьБазовыйКаталогВременныхФайлов

0 commit comments

Comments
 (0)