From 4457b379ab3963a47a0b75eb272ee2c82807a4fb Mon Sep 17 00:00:00 2001 From: sfaqer Date: Tue, 19 Sep 2023 13:30:54 +1000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=82=D0=BE=D1=87=D0=B5=D0=BA=20=D0=B2=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B0=D0=B9?= =?UTF-8?q?=D0=B4=D0=B5=D1=80=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D1=81=D1=80=D0=B5=D0=B4=D1=8B.=20"?= =?UTF-8?q?=5F"=20=D1=87=D0=B8=D1=82=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BA=20".",=20"=5F=5F"=20=D0=BA=D0=B0=D0=BA=20"?= =?UTF-8?q?=5F"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...265\321\202\321\200\320\276\320\262ENV.os" | 38 ++++++++++++------- ...265\321\202\321\200\320\276\320\262ENV.os" | 10 ++--- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/packagedef b/packagedef index 63fdd77..5a49778 100644 --- a/packagedef +++ b/packagedef @@ -4,7 +4,7 @@ // Описание.Имя("configor") - .Версия("0.8.0") + .Версия("0.8.1") .Автор("Khorev Aleksey") .АдресАвтора("Khorevaa@gmail.com") .Описание("Библиотека для работы с конфигурационными файлами в формате json, yaml") diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" index 404f1a8..b3744e6 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" @@ -50,27 +50,39 @@ Лог.Отладка("Выполняю чтение параметров переменных среды для префикса <%1>", Префикс); ПеременныеСреды = ПеременныеСреды(); - - Если ПустаяСтрока(Префикс) Тогда - Возврат ПеременныеСреды; - КонецЕсли; - ПрочитанныеПараметры = Новый Соответствие; Для каждого ПеременнаяСреды Из ПеременныеСреды Цикл - Если СтрНачинаетсяС(ПеременнаяСреды.Ключ, Префикс) Тогда + ПрочитанныеПараметры.Вставить( + СтрЗаменить(СтрЗаменить(ПеременнаяСреды.Ключ, "_", "."), "..", "_"), + ПеременнаяСреды.Значение + ); - ПрочитанныеПараметры.Вставить( - Прав(ПеременнаяСреды.Ключ, СтрДлина(ПеременнаяСреды.Ключ) - СтрДлина(Префикс)), - ПеременнаяСреды.Значение - ); + КонецЦикла; - КонецЕсли; + Результат = Новый Соответствие; - КонецЦикла; + Если ПустаяСтрока(Префикс) Тогда + Результат = ПрочитанныеПараметры; + Иначе + + Для каждого ПеременнаяСреды Из ПрочитанныеПараметры Цикл + + Если СтрНачинаетсяС(ПеременнаяСреды.Ключ, Префикс) Тогда + Сообщить(Прав(ПеременнаяСреды.Ключ, СтрДлина(ПеременнаяСреды.Ключ) - СтрДлина(Префикс))); + Результат.Вставить( + Прав(ПеременнаяСреды.Ключ, СтрДлина(ПеременнаяСреды.Ключ) - СтрДлина(Префикс)), + ПеременнаяСреды.Значение + ); + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; - Возврат ПрочитанныеПараметры; + Возврат Результат; КонецФункции diff --git "a/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" "b/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" index 8ccd0bc..4e65981 100644 --- "a/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" +++ "b/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262ENV.os" @@ -6,7 +6,7 @@ // Дано - УстановитьПеременнуюСреды("TestConfigorEnv", "ТестЗначение", РасположениеПеременнойСреды.Процесс); + УстановитьПеременнуюСреды("Test__Configor_Env", "ТестЗначение", РасположениеПеременнойСреды.Процесс); // Когда @@ -18,7 +18,7 @@ // Тогда - Ожидаем.Что(МенеджерПараметров.Параметр("TestConfigorEnv")).Равно("ТестЗначение"); + Ожидаем.Что(МенеджерПараметров.Параметр("Test_Configor.Env")).Равно("ТестЗначение"); КонецПроцедуры @@ -27,18 +27,18 @@ // Дано - УстановитьПеременнуюСреды("Test_ConfigorEnv", "ТестЗначение", РасположениеПеременнойСреды.Процесс); + УстановитьПеременнуюСреды("Test_Configor__Env", "ТестЗначение", РасположениеПеременнойСреды.Процесс); // Когда МенеджерПараметров = Новый МенеджерПараметров(); - МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровENV("Test_")); + МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровENV("Test.")); МенеджерПараметров.Прочитать(); // Тогда - Ожидаем.Что(МенеджерПараметров.Параметр("ConfigorEnv")).Равно("ТестЗначение"); + Ожидаем.Что(МенеджерПараметров.Параметр("Configor_Env")).Равно("ТестЗначение"); КонецПроцедуры