Skip to content

Commit 67686ed

Browse files
committed
Рефакторинг. Вынос выполнения задач в отдельный класс. Вынос чтения манифеста в отдельный модуль.
1 parent 4f96132 commit 67686ed

File tree

4 files changed

+51
-45
lines changed

4 files changed

+51
-45
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Процедура ВыполнитьЗадачу(Знач ИмяЗадачи, Знач ПараметрыЗадачи) Экспорт
3+
4+
Если ПараметрыЗадачи = Неопределено Тогда
5+
ПараметрыЗадачи = Новый Массив;
6+
КонецЕсли;
7+
8+
ПутьККаталогуЗадач = "";
9+
10+
ОписаниеПакета = РаботаСОписаниемПакета.ПрочитатьОписаниеПакета();
11+
Свойства = ОписаниеПакета.Свойства();
12+
Если Свойства.Свойство("Задачи") Тогда
13+
ПутьККаталогуЗадач = Свойства.Задачи;
14+
КонецЕсли;
15+
16+
Если НЕ ЗначениеЗаполнено(ПутьККаталогуЗадач) Тогда
17+
ПутьККаталогуЗадач = ОбъединитьПути(ТекущийКаталог(), "tasks");
18+
КонецЕсли;
19+
20+
КаталогЗадач = Новый Файл(ПутьККаталогуЗадач);
21+
Если НЕ КаталогЗадач.Существует() Тогда
22+
ТекстСообщения = СтрШаблон("Не найден каталог задач: %1", КаталогЗадач.ПолноеИмя);
23+
ВызватьИсключение ТекстСообщения;
24+
КонецЕсли;
25+
26+
ПутьКЗадаче = ОбъединитьПути(ПутьККаталогуЗадач, ИмяЗадачи + ".os");
27+
ПараметрыСценария = Новый Структура("ПараметрыЗадачи", ПараметрыЗадачи);
28+
ЗагрузитьСценарий(ПутьКЗадаче, ПараметрыСценария);
29+
30+
КонецПроцедуры
31+

src/Классы/ДиспетчерКомандПриложения.os

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -141,41 +141,10 @@
141141
КонецПроцедуры
142142

143143
Процедура ВыполнитьЗадачу(Знач ИмяЗадачи, Знач ПараметрыЗадачи)
144-
145-
Если ПараметрыЗадачи = Неопределено Тогда
146-
ПараметрыЗадачи = Новый Массив;
147-
КонецЕсли;
148-
149-
ПутьККаталогуЗадач = "";
150-
151-
ПутьКМанифесту = ОбъединитьПути(ТекущийКаталог(), Константы.ИмяФайлаСпецификацииПакета);
152144

153-
Файл_Манифест = Новый Файл(ПутьКМанифесту);
154-
Если Файл_Манифест.Существует() Тогда
155-
Описание = Новый ОписаниеПакета();
156-
Контекст = Новый Структура("Описание", Описание);
157-
ЗагрузитьСценарий(ПутьКМанифесту, Контекст);
145+
ВыполнятельЗадач = Новый ВыполнятельЗадач();
146+
ВыполнятельЗадач.ВыполнитьЗадачу(ИмяЗадачи, ПараметрыЗадачи);
158147

159-
Свойства = Описание.Свойства();
160-
Если Свойства.Свойство("Задачи") Тогда
161-
ПутьККаталогуЗадач = Свойства.Задачи;
162-
КонецЕсли;
163-
КонецЕсли;
164-
165-
Если НЕ ЗначениеЗаполнено(ПутьККаталогуЗадач) Тогда
166-
ПутьККаталогуЗадач = ОбъединитьПути(ТекущийКаталог(), "tasks");
167-
КонецЕсли;
168-
169-
КаталогЗадач = Новый Файл(ПутьККаталогуЗадач);
170-
Если НЕ КаталогЗадач.Существует() Тогда
171-
ТекстСообщения = СтрШаблон("Не найден каталог задач: %1", КаталогЗадач.ПолноеИмя);
172-
ВызватьИсключение ТекстСообщения;
173-
КонецЕсли;
174-
175-
ПутьКЗадаче = ОбъединитьПути(ПутьККаталогуЗадач, ИмяЗадачи + ".os");
176-
ПараметрыСценария = Новый Структура("ПараметрыЗадачи", ПараметрыЗадачи);
177-
ЗагрузитьСценарий(ПутьКЗадаче, ПараметрыСценария);
178-
179148
КонецПроцедуры
180149

181150
Процедура ОбновитьПакет(Знач ЗначенияПараметров) Экспорт

src/Классы/УстановкаПакета.os

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,11 @@
8989

9090
Процедура УстановитьПакетыПоОписаниюПакета() Экспорт
9191

92-
ПутьКМанифесту = ОбъединитьПути(ТекущийКаталог(), Константы.ИмяФайлаСпецификацииПакета);
92+
ОписаниеПакета = РаботаСОписаниемПакета.ПрочитатьОписаниеПакета();
9393

94-
Файл_Манифест = Новый Файл(ПутьКМанифесту);
95-
Если НЕ Файл_Манифест.Существует() Тогда
96-
ВызватьИсключение "В текущем каталоге не обнаружен файл " + Константы.ИмяФайлаСпецификацииПакета;
97-
КонецЕсли;
98-
99-
Описание = Новый ОписаниеПакета();
100-
Контекст = Новый Структура("Описание", Описание);
101-
ЗагрузитьСценарий(ПутьКМанифесту, Контекст);
102-
103-
ПроверитьВерсиюСреды(Описание);
94+
ПроверитьВерсиюСреды(ОписаниеПакета);
10495

105-
РазрешитьЗависимостиПакета(Описание);
96+
РазрешитьЗависимостиПакета(ОписаниеПакета);
10697

10798
КонецПроцедуры
10899

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Функция ПрочитатьОписаниеПакета() Экспорт
2+
3+
Описание = Новый ОписаниеПакета();
4+
5+
ПутьКМанифесту = ОбъединитьПути(ТекущийКаталог(), Константы.ИмяФайлаСпецификацииПакета);
6+
7+
Файл_Манифест = Новый Файл(ПутьКМанифесту);
8+
Если Файл_Манифест.Существует() Тогда
9+
Контекст = Новый Структура("Описание", Описание);
10+
ЗагрузитьСценарий(ПутьКМанифесту, Контекст);
11+
КонецЕсли;
12+
13+
Возврат Описание;
14+
15+
КонецФункции

0 commit comments

Comments
 (0)