Skip to content

Commit 0808da9

Browse files
committed
Много изменений по замечаниям.
1 parent 52252d6 commit 0808da9

5 files changed

+67
-93
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060

6161
КонецЕсли;
6262

63-
Контроллер = ЗагрузитьСценарий(ОбъединитьПути(КаталогRoot, "multi-controller.os"));
63+
Контроллер = Новый КонтроллерПакетнойСинхронизации;
6464

6565
Пока Истина Цикл
6666

src/multi-controller.os renamed to src/core/Классы/КонтроллерПакетнойСинхронизации.os

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
////////////////////////////////////////////////////////////////////////////
77

88
#Использовать cmdline
9-
#Использовать "core"
109

1110
Перем мПараметрыКоманды;
1211
Перем мДополнительныеПараметры;
1312
Перем мНастройки;
1413
Перем мФлагПринудительнойСинхронизации;
1514

15+
1616
////////////////////////////////////////////////////////////////////////
1717
// Программный интерфейс
1818

@@ -49,14 +49,16 @@
4949

5050
Процедура ПрочитатьНастройкиИзФайлаXML(Знач ФайлНастроек)
5151

52-
Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "xml-config.os"));
52+
Конфиг = Новый ЧтениеКонфигаXMLПакетнойСинхронизации;
53+
Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра();
5354
мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек);
5455

5556
КонецПроцедуры
5657

5758
Процедура ПрочитатьНастройкиИзФайлаJSON(Знач ФайлНастроек)
5859

59-
Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "json-config.os"));
60+
Конфиг = Новый ЧтениеКонфигаJSONПакетнойСинхронизации;
61+
Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра();
6062
мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек);
6163

6264
КонецПроцедуры
@@ -78,6 +80,10 @@
7880
КонецПроцедуры
7981

8082
Функция ПреобразоватьЗначениеКБулево(ЗначениеПараметра)
83+
Если ТипЗнч(ЗначениеПараметра) = Тип("Булево") Тогда
84+
Возврат ЗначениеПараметра;
85+
КонецЕсли;
86+
8187
Если ЗначениеПараметра = "on" Тогда
8288
Возврат Истина;
8389
ИначеЕсли ЗначениеПараметра = "off" Тогда
@@ -127,3 +133,24 @@
127133
Функция ИмяФайлаБазыХранилища(Знач Каталог)
128134
Возврат ОбъединитьПути(Каталог, "1cv8ddb.1CD");
129135
КонецФункции
136+
137+
Функция СоответствиеКлючамИПараметра() Экспорт
138+
139+
СоответствиеКлючамИПараметра = Новый Соответствие();
140+
СоответствиеКлючамИПараметра.Вставить("git-local-path", "КаталогВыгрузки");
141+
СоответствиеКлючамИПараметра.Вставить("git-remote", "GitURL");
142+
СоответствиеКлючамИПараметра.Вставить("name", "Имя");
143+
СоответствиеКлючамИПараметра.Вставить("v8-storage-dir", "КаталогХранилища1С");
144+
СоответствиеКлючамИПараметра.Вставить("email-domain", "ДоменПочтыДляGit");
145+
СоответствиеКлючамИПараметра.Вставить("v8-version", "ПутьКПлатформе83");
146+
СоответствиеКлючамИПараметра.Вставить("git-executable", "ПутьGit");
147+
СоответствиеКлючамИПараметра.Вставить("push-every-n-commits", "КоличествоКоммитовДоPush");
148+
СоответствиеКлючамИПараметра.Вставить("check-authors", "ПроверитьАвторовХранилища");
149+
СоответствиеКлючамИПараметра.Вставить("stop-if-empty-comment", "ПрерватьВыполнениеБезКомментарияКВерсии");
150+
СоответствиеКлючамИПараметра.Вставить("auto-set-tags", "АвтоматическаяУстановкаТэговПоВерсиям");
151+
СоответствиеКлючамИПараметра.Вставить("process-fatform-modules", "ПереименовыватьФайлМодуляОбычнойФормы");
152+
153+
Возврат СоответствиеКлючамИПараметра;
154+
155+
КонецФункции
156+

src/json-config.os renamed to src/core/Классы/ЧтениеКонфигаJSONПакетнойСинхронизации.os

Lines changed: 14 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#Использовать json
33

44
Перем мНастройки;
5+
Перем СоответствиеКлючамИПараметра Экспорт;
56

67
Функция ПрочитатьФайл(Знач ИмяФайла)
78
ФайлСуществующий = Новый Файл(ИмяФайла);
@@ -29,19 +30,12 @@
2930
ГлобальныеНастройки = ВсеНастройки["global"];
3031

3132
Для Каждого КлючИЗначение Из ГлобальныеНастройки Цикл
33+
Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ];
3234

33-
Если КлючИЗначение.Ключ = "email-domain" Тогда
34-
Ключ = "ДоменПочтыДляGit";
35-
ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда
36-
Ключ = "ПутьКПлатформе83";
37-
ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда
38-
Ключ = "ПутьGit";
39-
Иначе
40-
ВызватьИсключение НекорректнаяСтруктураНастроек();
35+
Если НЕ Ключ = Неопределено Тогда
36+
мНастройки.Вставить(Ключ, КлючИЗначение.Значение);
4137
КонецЕсли;
4238

43-
мНастройки.Вставить(Ключ, КлючИЗначение.Значение);
44-
4539
КонецЦикла;
4640

4741
мНастройки.Вставить("Репозитарии", Новый Массив);
@@ -53,9 +47,8 @@
5347
ПрочитатьНастройкиРепозитория(Репозиторий);
5448

5549
КонецЦикла;
56-
57-
58-
Возврат мНастройки;
50+
51+
Возврат мНастройки;
5952

6053
КонецФункции
6154

@@ -74,48 +67,20 @@
7467

7568
КонецФункции // ВырезатьКомментарииИзТекстаJSON()
7669

77-
Процедура ПрочитатьНастройкиРепозитория(ЭлементМассива)
70+
Процедура ПрочитатьНастройкиРепозитория(Знач СтруктураНастроекРепозитория )
7871

7972
Репо = Новый Структура;
8073

8174
мНастройки.Репозитарии.Добавить(Репо);
8275

83-
Для Каждого КлючИЗначение Из ЭлементМассива Цикл
84-
85-
Если КлючИЗначение.Ключ = "name" Тогда
86-
Ключ = "Имя";
87-
ИначеЕсли КлючИЗначение.Ключ = "git-local-path" Тогда
88-
Ключ = "КаталогВыгрузки";
89-
ИначеЕсли КлючИЗначение.Ключ = "git-remote" Тогда
90-
Ключ = "GitURL";
91-
ИначеЕсли КлючИЗначение.Ключ = "v8-storage-dir" Тогда
92-
Ключ = "КаталогХранилища1С";
93-
ИначеЕсли КлючИЗначение.Ключ = "email-domain" Тогда
94-
Ключ = "ДоменПочтыДляGit";
95-
ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда
96-
Ключ = "ПутьКПлатформе83";
97-
ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда
98-
Ключ = "ПутьGit";
99-
ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда
100-
Ключ = "КоличествоКоммитовДоPush";
101-
ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда
102-
Ключ = "ПроверитьАвторовХранилища";
103-
ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда
104-
Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии";
105-
ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда
106-
Ключ = "АвтоматическаяУстановкаТэговПоВерсиям";
107-
ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда
108-
Ключ = "ПереименовыватьФайлМодуляОбычнойФормы";
109-
Иначе
110-
ВызватьИсключение НекорректнаяСтруктураНастроек();
111-
КонецЕсли;
112-
113-
Если ПустаяСтрока(КлючИЗначение.Значение) и мНастройки.Свойство(Ключ) Тогда
114-
КлючИЗначение.Значение = мНастройки[Ключ];
76+
Для Каждого КлючИЗначение Из СтруктураНастроекРепозитория Цикл
77+
78+
Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ];
79+
80+
Если НЕ Ключ = Неопределено Тогда
81+
Репо.Вставить(Ключ, КлючИЗначение.Значение);
11582
КонецЕсли;
11683

117-
Репо.Вставить(Ключ, КлючИЗначение.Значение);
118-
11984
КонецЦикла;
12085

12186
Для Каждого ГлобальнаяНастройка Из мНастройки Цикл
@@ -138,6 +103,6 @@
138103

139104
КонецПроцедуры
140105

141-
Функция НекорректнаяСтруктураНастроек()
106+
Функция СтрокаНекорректнаяСтруктураНастроек()
142107
Возврат "Некорректная структура файла настроек";
143108
КонецФункции

src/xml-config.os renamed to src/core/Классы/ЧтениеКонфигаXMLПакетнойСинхронизации.os

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

22
Перем мНастройки;
3+
перем СоответствиеКлючамИПараметра Экспорт;
34

45
Функция ПрочитатьНастройкиИзФайла(Знач ФайлНастроек) Экспорт
56

@@ -10,7 +11,7 @@
1011
Попытка
1112
Чтение.ПерейтиКСодержимому();
1213
Если Чтение.ЛокальноеИмя <> "gitsync-options" Тогда
13-
ВызватьИсключение "Неверная структура файла настроек";
14+
ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек();
1415
КонецЕсли;
1516

1617
Чтение.Прочитать();
@@ -34,17 +35,14 @@
3435
Пока Не (Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента и Чтение.ЛокальноеИмя = "global") Цикл
3536
КлючИЗначение = ПрочитатьОпцию(Чтение);
3637

37-
Если КлючИЗначение.Ключ = "email-domain" Тогда
38-
Ключ = "ДоменПочтыДляGit";
39-
ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда
40-
Ключ = "ПутьКПлатформе83";
41-
ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда
42-
Ключ = "ПутьGit";
38+
Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ];
39+
40+
Если НЕ Ключ = Неопределено Тогда
41+
мНастройки.Вставить(Ключ, КлючИЗначение.Значение);
4342
Иначе
44-
ВызватьИсключение НекорректнаяСтруктураНастроек();
43+
ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек();
4544
КонецЕсли;
4645

47-
мНастройки.Вставить(Ключ, КлючИЗначение.Значение);
4846

4947
КонецЦикла;
5048

@@ -56,7 +54,7 @@
5654
мНастройки.Вставить("Репозитарии", Новый Массив);
5755

5856
Если Чтение.ЛокальноеИмя <> "repositories" Тогда
59-
ВызватьИсключение НекорректнаяСтруктураНастроек();
57+
ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек();
6058
КонецЕсли;
6159

6260
Чтение.Прочитать();
@@ -82,30 +80,12 @@
8280

8381
КлючИЗначение = ПрочитатьОпцию(Чтение);
8482

85-
Если КлючИЗначение.Ключ = "git-local-path" Тогда
86-
Ключ = "КаталогВыгрузки";
87-
ИначеЕсли КлючИЗначение.Ключ = "git-remote" Тогда
88-
Ключ = "GitURL";
89-
ИначеЕсли КлючИЗначение.Ключ = "v8-storage-dir" Тогда
90-
Ключ = "КаталогХранилища1С";
91-
ИначеЕсли КлючИЗначение.Ключ = "email-domain" Тогда
92-
Ключ = "ДоменПочтыДляGit";
93-
ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда
94-
Ключ = "ПутьКПлатформе83";
95-
ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда
96-
Ключ = "ПутьGit";
97-
ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда
98-
Ключ = "КоличествоКоммитовДоPush";
99-
ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда
100-
Ключ = "ПроверитьАвторовХранилища";
101-
ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда
102-
Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии";
103-
ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда
104-
Ключ = "АвтоматическаяУстановкаТэговПоВерсиям";
105-
ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда
106-
Ключ = "ПереименовыватьФайлМодуляОбычнойФормы";
83+
Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ];
84+
85+
Если НЕ Ключ = Неопределено Тогда
86+
Репо.Вставить(Ключ, КлючИЗначение.Значение);
10787
Иначе
108-
ВызватьИсключение НекорректнаяСтруктураНастроек();
88+
ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек();
10989
КонецЕсли;
11090

11191
Если ПустаяСтрока(КлючИЗначение.Значение) и мНастройки.Свойство(Ключ) Тогда
@@ -133,7 +113,7 @@
133113
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
134114
Значение = "";
135115
Иначе
136-
ВызватьИсключение НекорректнаяСтруктураНастроек();
116+
ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек();
137117
КонецЕсли;
138118

139119
Чтение.Прочитать();
@@ -142,6 +122,6 @@
142122

143123
КонецФункции
144124

145-
Функция НекорректнаяСтруктураНастроек()
125+
Функция СтрокаНекорректнаяСтруктураНастроек()
146126
Возврат "Некорректная структура файла настроек";
147127
КонецФункции

tests/multi-controller-xml.os

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
Перем мНастройки;
1010
Перем мПараметрыВызоваПакетногоСинхронизатора;
11+
Перем Контроллер;
1112

1213
Функция ПолучитьСписокТестов(Тесты) Экспорт
1314
юТест = Тесты;
@@ -26,11 +27,9 @@
2627

2728
Процедура Инициализация()
2829

29-
ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/xml-config.os"), "ЧтениеКонфигаXML");
30-
ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/json-config.os"), "ЧтениеКонфигаJSON");
31-
3230
Лог = Логирование.ПолучитьЛог("oscript.app.gitsync");
3331
Лог.УстановитьУровень(УровниЛога.Отладка);
32+
Контроллер = Новый КонтроллерПакетнойСинхронизации
3433

3534
КонецПроцедуры
3635

@@ -39,14 +38,17 @@
3938

4039
Функция ПрочитатьТестовыеНастройки()
4140
ФайлНастроек = КаталогFixtures() + "/config.xml";
42-
ЧтениеКонфига = Новый ЧтениеКонфигаXML();
41+
ЧтениеКонфига = Новый ЧтениеКонфигаXMLПакетнойСинхронизации();
42+
ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра();
4343
мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек);
4444
Возврат мНастройки;
4545
КонецФункции
4646

4747
Функция ПрочитатьТестовыеНастройкиJSON()
4848
ФайлНастроек = КаталогFixtures() + "/config.json";
49-
ЧтениеКонфига = Новый ЧтениеКонфигаJSON();
49+
ЧтениеКонфига = Новый ЧтениеКонфигаJSONПакетнойСинхронизации();
50+
ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра();
51+
5052
мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек);
5153
Возврат мНастройки;
5254
КонецФункции

0 commit comments

Comments
 (0)