Skip to content

Commit 01a5635

Browse files
committed
Новая обработка команды all
1 parent ff272f9 commit 01a5635

File tree

3 files changed

+102
-48
lines changed

3 files changed

+102
-48
lines changed

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

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414

1515
Команда.Опция("n name", "", "имя настройки пакетной синхронизации")
1616
.ТСтрока();
17-
17+
1818
Команда.Опция("u storage-user", "", "пользователь хранилища конфигурации")
1919
.ТСтрока()
20-
.ВОкружении("GITSYNC_STORAGE_USER")
21-
.ПоУмолчанию("Администратор");
20+
.ВОкружении("GITSYNC_STORAGE_USER");
2221

2322
Команда.Опция("p storage-pwd", "", "пароль пользователя хранилища конфигурации")
2423
.ТСтрока()
@@ -42,7 +41,7 @@
4241

4342
ПользовательХранилища = Команда.ЗначениеОпции("storage-user");
4443
ПарольПользователяХранилища = Команда.ЗначениеОпции("storage-pwd");
45-
44+
4645
ИмяНастройкиСинхронизации = Команда.ЗначениеОпции("name");
4746
КоличествоПотоковСинхронизации = Команда.ЗначениеОпции("thread");
4847

@@ -62,15 +61,18 @@
6261
КонецЕсли;
6362

6463
ПакетнаяСинхронизация = Новый ПакетнаяСинхронизация();
65-
ПакетнаяСинхронизация.ТаймерПовторения(ИнтервалПовторенияСинхронизации)
64+
ПакетнаяСинхронизация
65+
.ТаймерПовторения(ИнтервалПовторенияСинхронизации)
6666
.КаталогПлагинов(ПараметрыПриложения.КаталогПлагинов())
6767
.ФайлВключенныхПлагинов(ПараметрыПриложения.ФайлВключенныхПлагинов())
6868
.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
6969
.ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
7070
.ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
71-
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
71+
.ПутьКПлатформе(ОбщиеПараметры.ПутьКПлатформе)
72+
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
7273
.РежимУдаленияВременныхФайлов(Истина)
73-
.АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища);
74+
.АвторизацияВХранилищеКонфигурации(ПользовательХранилища, ПарольПользователяХранилища)
75+
;
7476

7577
ПакетнаяСинхронизация.ПрочитатьНастройки(ПараметрыФайлаНастроек);
7678

@@ -85,23 +87,17 @@
8587
КонецПроцедуры
8688

8789
Функция ПрочитатьФайлНастроек(Знач ПутьКФайлуНастроек)
88-
89-
МенеджерПараметров = Новый МенеджерПараметров();
90-
МенеджерПараметров.УстановитьФайлПараметров(ПутьКФайлуНастроек);
91-
МенеджерПараметров.ИспользоватьПровайдерJSON();
92-
93-
Если НЕ ПараметрыПриложения.ЭтоСборкаEXE() Тогда
94-
МенеджерПараметров.ИспользоватьПровайдерYAML();
95-
КонецЕсли;
9690

9791
Лог.Отладка("Чтение файла настроек начато");
98-
МенеджерПараметров.Прочитать();
92+
93+
ТекстФайла = РаботаСФайлами.ПрочитатьФайл(ПутьКФайлуНастроек);
94+
9995
Лог.Отладка("Чтение файла настроек завершено");
10096

101-
ПрочитанныйПараметры = МенеджерПараметров.ПрочитанныйПараметры();
97+
ПрочитанныйПараметры = РаботаСФайлами.ОбъектИзJson(ТекстФайла);
10298

103-
ЭтоОдинРепозиторий = МенеджерПараметров.Параметр("repositories") = Неопределено
104-
И МенеджерПараметров.Параметр("Репозитории") = Неопределено;
99+
ЭтоОдинРепозиторий = ПрочитанныйПараметры.Получить("repositories") = Неопределено
100+
И ПрочитанныйПараметры.Получить("Репозитории") = Неопределено;
105101

106102
Параметры = ПрочитанныйПараметры;
107103

src/core/Классы/МенеджерСинхронизации.os

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

459459
ПериодОжидания = 10000;
460460
Лог.Ошибка(ТекстОшибки);
461-
Лог.Информация("Повторное подключение через 10сек. Осталось попыток: <%1>", КоличествоЦикловОжиданияЛицензии);
461+
Лог.Информация("Повторное подключение через 10 сек. Осталось попыток: <%1>", КоличествоЦикловОжиданияЛицензии);
462462
Приостановить(ПериодОжидания);
463463

464464
Иначе

src/core/Классы/ПакетнаяСинхронизация.os

Lines changed: 86 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
///////////////////////////////////////////////////////////////////////////////////////////////
1212
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
1313

14-
Перем ДоменПочтыДляGitПоУмолчанию Экспорт; // Строка, домен пользователей по умолчанию
15-
Перем ТекущаяВерсияПлатформы Экспорт; // Строка, используемая версия 1С.Предприятие
14+
Перем ДоменПочтыДляGitПоУмолчанию; // Строка, домен пользователей по умолчанию
15+
Перем ТекущаяВерсияПлатформы; // Строка, используемая версия 1С.Предприятие
1616

1717
Перем ТаймерПовторения;
1818
Перем ПутьКФайлуНастроек;
@@ -21,7 +21,8 @@
2121
Перем ПутьКВременномуКаталогу;
2222

2323
Перем ИндексРепозиториев;
24-
Перем Параметры;
24+
Перем НастройкиПоУмолчанию;
25+
Перем РепозиторииСинхронизации;
2526

2627
#Область Публичное_API
2728

@@ -134,18 +135,41 @@
134135

135136
КонецФункции
136137

138+
// Устанавливает путь к платформе 1С
139+
//
140+
// Параметры:
141+
// НовыйПутьКПлатформе - Строка - путь к исполняемому файлу платформы 1С.Предприятие
142+
//
143+
// Возвращаемое значение:
144+
// Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
145+
//
146+
Функция ПутьКПлатформе(Знач НовыйПутьКПлатформе) Экспорт
147+
148+
ТекущийПутьКПлатформе = НовыйПутьКПлатформе;
149+
Возврат ЭтотОбъект;
150+
151+
КонецФункции
152+
137153
// Читает настройки пакетной синхронизации из соответствия
138154
//
139155
// Параметры:
140156
// НастройкиСинхронизации - Соответствие - набор настроек для пакетной синхронизации
141157
//
142158
Процедура ПрочитатьНастройки(Знач НастройкиСинхронизации) Экспорт
143159

160+
Лог.Отладка("Количество настроек <%1>", НастройкиСинхронизации.Количество());
161+
144162
КонструкторПараметров = КонструкторПараметровПакетнойСинхронизации();
145163
КонструкторПараметров.ИзСоответствия(НастройкиСинхронизации);
146164

147165
Параметры = КонструкторПараметров.ВСтруктуру();
148166

167+
НастройкиПоУмолчанию = Параметры.НастройкиПоУмолчанию;
168+
169+
ДополнитьНастройкиПоУмолчания();
170+
171+
РепозиторииСинхронизации = Параметры.Репозитории;
172+
149173
КонецПроцедуры
150174

151175
// Устанавливает таймер повторения пакетной синхронизации
@@ -328,8 +352,8 @@
328352

329353
ИндексРепозиториев = Новый Соответствие();
330354

331-
Лог.Отладка("Готовлю индекс для <%1> репозиториев", Параметры.Репозитории.Количество());
332-
Для каждого ПараметрыРепозитория Из Параметры.Репозитории Цикл
355+
Лог.Отладка("Готовлю индекс для <%1> репозиториев", РепозиторииСинхронизации.Количество());
356+
Для каждого ПараметрыРепозитория Из РепозиторииСинхронизации Цикл
333357

334358

335359
РепоСинхронизации = Новый РепозиторийСинхронизации();
@@ -340,43 +364,77 @@
340364

341365
ИндексРепозиториев.Вставить(ПараметрыРепозитория.Наименование, РепоСинхронизации);
342366

343-
ОбъединитьПараметрыРепозиторияИГлобальные(ПараметрыРепозитория);
367+
ДополнитьПараметрыРепозитория(ПараметрыРепозитория);
344368

345369
РепоСинхронизации.ПрочитатьПараметры(ПараметрыРепозитория);
346370

347371
КонецЦикла;
348372

349373
КонецПроцедуры
350374

351-
Процедура ОбъединитьПараметрыРепозиторияИГлобальные(ПараметрыРепозитория)
375+
Процедура ДополнитьНастройкиПоУмолчания()
376+
377+
Если ЗначениеЗаполнено(АвторизацияВХранилище.ПользовательХранилища) Тогда
378+
НастройкиПоУмолчанию.Вставить("ПользовательХранилища", АвторизацияВХранилище.ПользовательХранилища);
379+
НастройкиПоУмолчанию.Вставить("ПарольПользователяХранилища", АвторизацияВХранилище.ПарольПользователяХранилища);
380+
КонецЕсли;
352381

353-
ГлобальныеПараметры = Параметры.НастройкиПоУмолчанию;
382+
ЗаполнитьПриемникПриНеобходимости("ПутьИсполняемомуФайлуГит", ПутьКИсполняемомуФайлуGit, НастройкиПоУмолчанию);
383+
ЗаполнитьПриемникПриНеобходимости("ПутьКВременномуКаталогу", ПутьКВременномуКаталогу, НастройкиПоУмолчанию);
384+
ЗаполнитьПриемникПриНеобходимости("ВерсияПлатформы", ТекущаяВерсияПлатформы, НастройкиПоУмолчанию);
385+
ЗаполнитьПриемникПриНеобходимости("ДоменПочтыПоУмолчанию", ДоменПочтыДляGitПоУмолчанию, НастройкиПоУмолчанию);
386+
ЗаполнитьПриемникПриНеобходимости("КоличествоЦикловОжиданияЛицензии", КоличествоЦикловОжиданияЛицензииПоУмолчанию, НастройкиПоУмолчанию);
354387

355-
Для каждого ГлобальныйПараметр Из ГлобальныеПараметры Цикл
356-
357-
КлючПараметра = ГлобальныйПараметр.Ключ;
358-
ЗначениеПараметра = ГлобальныйПараметр.Значение;
388+
КонецПроцедуры
359389

360-
Если Не ЗначениеЗаполнено(ЗначениеПараметра) Тогда
361-
Продолжить;
362-
КонецЕсли;
390+
Процедура ДополнитьПараметрыРепозитория(ПараметрыРепозитория)
363391

364-
ЗначениеИзПараметровРепо = ПараметрыРепозитория[КлючПараметра];
392+
ГлобальныеПараметры = НастройкиПоУмолчанию;
365393

366-
Если КлючПараметра = "Плагины" Тогда
367-
ОбъединитьПлагины(ЗначениеПараметра, ЗначениеИзПараметровРепо);
368-
Продолжить;
369-
ИначеЕсли КлючПараметра = "НастройкиПлагинов" Тогда
370-
Лог.Отладка("Тип значения настройки плагинов <%1>", ТипЗнч(ЗначениеИзПараметровРепо));
371-
ОбъединитьНастройкиПлагинов(ЗначениеПараметра, ЗначениеИзПараметровРепо);
372-
Продолжить;
373-
КонецЕсли;
394+
ЗаполнитьПриНеобходимости("ПользовательХранилища", ГлобальныеПараметры, ПараметрыРепозитория);
395+
ЗаполнитьПриНеобходимости("ПарольПользователяХранилища", ГлобальныеПараметры, ПараметрыРепозитория);
396+
ЗаполнитьПриНеобходимости("ПутьИсполняемомуФайлуГит", ГлобальныеПараметры, ПараметрыРепозитория);
397+
ЗаполнитьПриНеобходимости("ПутьКВременномуКаталогу", ГлобальныеПараметры, ПараметрыРепозитория);
398+
ЗаполнитьПриНеобходимости("ВерсияПлатформы", ГлобальныеПараметры, ПараметрыРепозитория);
399+
ЗаполнитьПриНеобходимости("ДоменПочтыПоУмолчанию", ГлобальныеПараметры, ПараметрыРепозитория);
400+
ЗаполнитьПриНеобходимости("КоличествоЦикловОжиданияЛицензии", ГлобальныеПараметры, ПараметрыРепозитория);
374401

375-
Если Не ЗначениеЗаполнено(ЗначениеИзПараметровРепо) Тогда
376-
ПараметрыРепозитория.Вставить(КлючПараметра, ЗначениеПараметра);
377-
КонецЕсли;
402+
ОбъединитьПлагины(ГлобальныеПараметры.Плагины, ПараметрыРепозитория.Плагины);
403+
ОбъединитьНастройкиПлагинов(ГлобальныеПараметры.НастройкиПлагинов, ГлобальныеПараметры.НастройкиПлагинов);
378404

379-
КонецЦикла;
405+
КонецПроцедуры
406+
407+
Процедура ЗаполнитьПриемникПриНеобходимости(Ключ, Значение, Приемник)
408+
409+
Если Не ЗначениеЗаполнено(Значение) Тогда
410+
Возврат;
411+
КонецЕсли;
412+
413+
ЗначениеПриемник = Приемник[Ключ];
414+
415+
Если ЗначениеЗаполнено(ЗначениеПриемник) Тогда
416+
Возврат;
417+
КонецЕсли;
418+
419+
Приемник.Вставить(Ключ, Значение);
420+
421+
КонецПроцедуры
422+
423+
Процедура ЗаполнитьПриНеобходимости(КлючНастройки, Источник, Приемник)
424+
425+
ЗначениеИсточник = Источник[КлючНастройки];
426+
427+
Если Не ЗначениеЗаполнено(ЗначениеИсточник) Тогда
428+
Возврат;
429+
КонецЕсли;
430+
431+
ЗначениеПриемник = Приемник[КлючНастройки];
432+
433+
Если ЗначениеЗаполнено(ЗначениеПриемник) Тогда
434+
Возврат;
435+
КонецЕсли;
436+
437+
Приемник.Вставить(КлючНастройки, ЗначениеИсточник);
380438

381439
КонецПроцедуры
382440

0 commit comments

Comments
 (0)