Skip to content

Commit 89e7886

Browse files
authored
Merge pull request #16 from oscript-library/feature/list
Команда вывода списка пакетов
2 parents 3070402 + 7040e80 commit 89e7886

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

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

Lines changed: 28 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,11 @@
7879
Парсер.ДобавитьКоманду(Команда);
7980
КонецПроцедуры
8081

82+
Процедура ДобавитьКомандуList(Знач Парсер)
83+
Команда = Парсер.ОписаниеКоманды("list", "Вывести список пакетов");
84+
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-q", """Тихий"" режим вывода без лишних сообщений.");
85+
Парсер.ДобавитьКоманду(Команда);
86+
КонецПроцедуры
8187

8288
Процедура ДобавитьКомандуHelp(Знач Парсер) Экспорт
8389
Команда = Парсер.ОписаниеКоманды("help", "Справка по командам");
@@ -103,7 +109,9 @@
103109
ИначеЕсли ПараметрыКоманды.Команда = "app" Тогда
104110
СоздатьСкриптЗапуска(ЗначенияПараметров["ИмяСкрипта"], ЗначенияПараметров["Каталог"], ЗначенияПараметров["-name"]);
105111
ИначеЕсли ПараметрыКоманды.Команда = "config" Тогда
106-
НастройкиПриложения.СохранитьНастройки(ЗначенияПараметров);
112+
НастройкиПриложения.СохранитьНастройки(ЗначенияПараметров);
113+
ИначеЕсли ПараметрыКоманды.Команда = "list" Тогда
114+
ВывестиСписокПакетов(ЗначенияПараметров);
107115
ИначеЕсли ПараметрыКоманды.Команда = "help" Тогда
108116
ВывестиСправку(ЗначенияПараметров);
109117
КонецЕсли;
@@ -201,6 +209,25 @@
201209

202210
КонецПроцедуры
203211

212+
Процедура ВывестиСписокПакетов(Знач ЗначенияПараметров)
213+
214+
ТихийРежим = ЗначенияПараметров["-q"];
215+
216+
ПутьККаталогуПакетов = ПолучитьЗначениеСистемнойНастройки("lib.system");
217+
218+
Если НЕ ТихийРежим Тогда
219+
ТекстСообщения = СтрШаблон("Пакеты в системном каталоге библиотек <%1>:", ПутьККаталогуПакетов);
220+
Сообщить(ТекстСообщения);
221+
КонецЕсли;
222+
223+
КэшУстановленныхПакетов = Новый КэшУстановленныхПакетов();
224+
УстановленныеПакеты = КэшУстановленныхПакетов.ПолучитьУстановленныеПакеты();
225+
Для Каждого УстановленныйПакет Из УстановленныеПакеты Цикл
226+
Сообщить(УстановленныйПакет.Ключ);
227+
КонецЦикла;
228+
229+
КонецПроцедуры
230+
204231
Процедура ВывестиСправку(Знач ЗначенияПараметров)
205232
Если ЗначенияПараметров["ИмяКоманды"] = Неопределено Тогда
206233
ВывестиСправкуПоКомандам();

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626

2727
КонецПроцедуры
2828

29+
Функция ПолучитьУстановленныеПакеты() Экспорт
30+
Возврат УстановленныеПакеты;
31+
КонецФункции
32+
2933
Процедура Инициализация()
3034

3135
Лог = Логирование.ПолучитьЛог("oscript.app.opm");

0 commit comments

Comments
 (0)