Skip to content

Commit 9168e5e

Browse files
committed
Команда вывода списка пакетов
1 parent 14604c7 commit 9168e5e

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

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

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
ДобавитьКомандуUpdate(Парсер);
1414
ДобавитьКомандуApp(Парсер);
1515
ДобавитьКомандуConfig(Парсер);
16+
ДобавитьКомандуList(Парсер);
1617
ДобавитьКомандуHelp(Парсер);
1718
КонецПроцедуры
1819

@@ -78,6 +79,10 @@
7879
Парсер.ДобавитьКоманду(Команда);
7980
КонецПроцедуры
8081

82+
Процедура ДобавитьКомандуList(Знач Парсер) Экспорт
83+
Команда = Парсер.ОписаниеКоманды("list", "Вывести список пакетов");
84+
Парсер.ДобавитьКоманду(Команда);
85+
КонецПроцедуры
8186

8287
Процедура ДобавитьКомандуHelp(Знач Парсер) Экспорт
8388
Команда = Парсер.ОписаниеКоманды("help", "Справка по командам");
@@ -103,7 +108,9 @@
103108
ИначеЕсли ПараметрыКоманды.Команда = "app" Тогда
104109
СоздатьСкриптЗапуска(ЗначенияПараметров["ИмяСкрипта"], ЗначенияПараметров["Каталог"], ЗначенияПараметров["-name"]);
105110
ИначеЕсли ПараметрыКоманды.Команда = "config" Тогда
106-
НастройкиПриложения.СохранитьНастройки(ЗначенияПараметров);
111+
НастройкиПриложения.СохранитьНастройки(ЗначенияПараметров);
112+
ИначеЕсли ПараметрыКоманды.Команда = "list" Тогда
113+
ВывестиСписокПакетов();
107114
ИначеЕсли ПараметрыКоманды.Команда = "help" Тогда
108115
ВывестиСправку(ЗначенияПараметров);
109116
КонецЕсли;
@@ -201,6 +208,43 @@
201208

202209
КонецПроцедуры
203210

211+
Процедура ВывестиСписокПакетов()
212+
213+
ПутьККаталогуПакетов = ПолучитьЗначениеСистемнойНастройки("lib.system");
214+
215+
ТекстСообщения = СтрШаблон("Пакеты в системном каталоге библиотек <%1>:", ПутьККаталогуПакетов);
216+
Сообщить(ТекстСообщения);
217+
ВывестиПодкаталоги(ПутьККаталогуПакетов);
218+
219+
ПутьКДополнительнымКаталогамБиблиотек = ПолучитьЗначениеСистемнойНастройки("lib.additional");
220+
Если НЕ ЗначениеЗаполнено(ПутьКДополнительнымКаталогамБиблиотек) Тогда
221+
Возврат;
222+
КонецЕсли;
223+
224+
СписокДополнительныхКаталоговБиблиотек = СтрРазделить(ПутьКДополнительнымКаталогамБиблиотек, ";");
225+
226+
Для Каждого ДополнительныйКаталогБиблиотек Из СписокДополнительныхКаталоговБиблиотек Цикл
227+
Сообщить("");
228+
Файл_ДополнительныйКаталогБиблиотек = Новый Файл(ДополнительныйКаталогБиблиотек);
229+
ТекстСообщения = СтрШаблон("Пакеты в дополнительном каталоге библиотек <%1>:", Файл_ДополнительныйКаталогБиблиотек.ПолноеИмя);
230+
Сообщить(ТекстСообщения);
231+
ВывестиПодкаталоги(ДополнительныйКаталогБиблиотек);
232+
КонецЦикла;
233+
234+
КонецПроцедуры
235+
236+
Процедура ВывестиПодкаталоги(Знач ПутьКРодительскомуКаталогу)
237+
НайденныеКаталоги = НайтиФайлы(ПутьКРодительскомуКаталогу, ПолучитьМаскуВсеФайлы(), Ложь);
238+
Для Каждого НайденныйКаталог Из НайденныеКаталоги Цикл
239+
Если НайденныйКаталог.ЭтоФайл() Тогда
240+
// package-loader и прочие служебные файлы
241+
Продолжить;
242+
КонецЕсли;
243+
244+
Сообщить(НайденныйКаталог.Имя);
245+
КонецЦикла;
246+
КонецПроцедуры
247+
204248
Процедура ВывестиСправку(Знач ЗначенияПараметров)
205249
Если ЗначенияПараметров["ИмяКоманды"] = Неопределено Тогда
206250
ВывестиСправкуПоКомандам();

0 commit comments

Comments
 (0)