-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #30 from khorevaa/develop
v0.8.0
- Loading branch information
Showing
15 changed files
with
413 additions
and
68 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,19 +4,19 @@ | |
// | ||
|
||
Описание.Имя("configor") | ||
.Версия("0.7.1") | ||
.Версия("0.8.0") | ||
.Автор("Khorev Aleksey") | ||
.АдресАвтора("[email protected]") | ||
.Описание("Библиотека для работы с конфигурационными файлами в формате json, yaml") | ||
.ВерсияСреды("1.0.19") | ||
.ВерсияСреды("1.8.3") | ||
.ВключитьФайл("src") | ||
.ВключитьФайл("docs") | ||
//.ВключитьФайл("tests") | ||
.ЗависитОт("logos") | ||
.ЗависитОт("json") | ||
.ЗависитОт("yaml") | ||
.ЗависитОт("asserts") | ||
.ЗависитОт("fluent", "0.3.1") | ||
.ЗависитОт("fluent", "0.6.0") | ||
.ЗависитОт("notify", "0.2.0") | ||
.ЗависитОт("tempfiles") | ||
.ЗависитОт("reflector", "0.3.1") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#Использовать logos | ||
|
||
Перем Лог; | ||
Перем Префикс; | ||
|
||
Процедура ПриСозданииОбъекта(ПрефиксПеременныхСреды = "") | ||
Префикс = ПрефиксПеременныхСреды; | ||
Лог = Логирование.ПолучитьЛог("oscript.lib.configor.env"); | ||
КонецПроцедуры | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
// Возвращает приоритет провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Число - текущий приоритет провайдера | ||
// | ||
Функция Приоритет() Экспорт | ||
Возврат 2; | ||
КонецФункции | ||
|
||
// Возвращает идентификатор провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий идентификатор провайдера | ||
// | ||
Функция Идентификатор() Экспорт | ||
Возврат "env"; | ||
КонецФункции | ||
|
||
// Возвращает тип провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий тип провайдера | ||
// | ||
Функция ТипПровайдера() Экспорт | ||
Возврат "env"; | ||
КонецФункции | ||
|
||
// Выполняет чтение параметров для провайдера | ||
// | ||
// Параметры: | ||
// НастройкиПровайдера - Структура - структура настроек провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Соответствие - результат чтения провайдера | ||
// | ||
Функция ПрочитатьПараметры(НастройкиПровайдера) Экспорт | ||
|
||
Лог.Отладка("Выполняю чтение параметров переменных среды для префикса <%1>", Префикс); | ||
|
||
ПеременныеСреды = ПеременныеСреды(); | ||
|
||
Если ПустаяСтрока(Префикс) Тогда | ||
Возврат ПеременныеСреды; | ||
КонецЕсли; | ||
|
||
ПрочитанныеПараметры = Новый Соответствие; | ||
|
||
Для каждого ПеременнаяСреды Из ПеременныеСреды Цикл | ||
|
||
Если СтрНачинаетсяС(ПеременнаяСреды.Ключ, Префикс) Тогда | ||
|
||
ПрочитанныеПараметры.Вставить( | ||
Прав(ПеременнаяСреды.Ключ, СтрДлина(ПеременнаяСреды.Ключ) - СтрДлина(Префикс)), | ||
ПеременнаяСреды.Значение | ||
); | ||
|
||
КонецЕсли; | ||
|
||
КонецЦикла; | ||
|
||
Возврат ПрочитанныеПараметры; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
#Использовать logos | ||
|
||
Перем Лог; | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
// Возвращает приоритет провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Число - текущий приоритет провайдера | ||
// | ||
Функция Приоритет() Экспорт | ||
Возврат 1; | ||
КонецФункции | ||
|
||
// Возвращает идентификатор провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий идентификатор провайдера | ||
// | ||
Функция Идентификатор() Экспорт | ||
Возврат "ini"; | ||
КонецФункции | ||
|
||
// Возвращает тип провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий тип провайдера | ||
// | ||
Функция ТипПровайдера() Экспорт | ||
Возврат "file"; | ||
КонецФункции | ||
|
||
// Возвращает расширения файлов по умолчанию | ||
// | ||
// Возвращаемое значение: | ||
// Строка - расширения файлов по умолчанию | ||
// | ||
Функция РасширенияФайлов() Экспорт | ||
Возврат "ini"; | ||
КонецФункции | ||
|
||
// Выполняет чтение параметров для провайдера | ||
// | ||
// Параметры: | ||
// НастройкиПровайдера - Структура - структура настроек провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Соответствие - результат чтения провайдера | ||
// | ||
Функция ПрочитатьПараметры(НастройкиПровайдера) Экспорт | ||
|
||
ПрочитанныеПараметры = Новый Соответствие; | ||
|
||
ФайлПараметров = Новый Файл(НастройкиПровайдера.ФайлПараметров); | ||
|
||
Если Не ФайлПараметров.Существует() Тогда | ||
Лог.Отладка("Не найден файл параметров <%1>", ФайлПараметров.ПолноеИмя); | ||
Возврат ПрочитанныеПараметры; | ||
КонецЕсли; | ||
|
||
Лог.Отладка("Выполняю чтение файла параметров <%1>", ФайлПараметров.ПолноеИмя); | ||
ПрочитанныеПараметры = Прочитать(ФайлПараметров.ПолноеИмя); | ||
|
||
Возврат ПрочитанныеПараметры; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти | ||
|
||
// Выполнить чтение настроек из файла | ||
// | ||
// Параметры: | ||
// ПутьКФайлу - Cтрока - путь к файлу настроек | ||
// Возвращаемое значение: | ||
// Соответствие - итоговые параметры | ||
// | ||
Функция Прочитать(Знач ПутьКФайлу) | ||
|
||
НастройкиИзФайла = Новый Соответствие; | ||
|
||
ТД = Новый ТекстовыйДокумент(); | ||
ТД.Прочитать(ПутьКФайлу); | ||
|
||
Для Сч = 1 По ТД.КоличествоСтрок() Цикл | ||
|
||
СтрокаНастроек = ТД.ПолучитьСтроку(Сч); | ||
|
||
Если ПустаяСтрока(СтрокаНастроек) или Лев(СтрокаНастроек, 1) = "#" Тогда | ||
Продолжить; | ||
КонецЕсли; | ||
|
||
Поз = СтрНайти(СтрокаНастроек, "="); | ||
Если Поз = 0 Тогда | ||
Продолжить; | ||
КонецЕсли; | ||
|
||
Ключ = СокрЛП(Лев(СтрокаНастроек, Поз - 1)); | ||
Значение = СокрЛП(Сред(СтрокаНастроек, Поз + 1)); | ||
|
||
НастройкиИзФайла.Вставить(Ключ, Значение); | ||
|
||
КонецЦикла; | ||
|
||
Лог.Отладка("Прочитан файл настроек %1", ПутьКФайлу); | ||
|
||
Возврат НастройкиИзФайла; | ||
|
||
КонецФункции // Прочитать | ||
|
||
Лог = Логирование.ПолучитьЛог("oscript.lib.configor.ini"); |
63 changes: 63 additions & 0 deletions
63
src/Классы/internal/Классы/ПровайдерПараметровСоответствие.os
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#Использовать logos | ||
|
||
Перем Лог; | ||
Перем мПараметры; | ||
|
||
Процедура ПриСозданииОбъекта(Параметры) | ||
|
||
Если ТипЗнч(Параметры) <> Тип("Соответствие") Тогда | ||
ВызватьИсключение | ||
"Для провайдера параметров Соответствие, источником параметров может быть только соответствие"; | ||
КонецЕсли; | ||
|
||
мПараметры = Параметры; | ||
Лог = Логирование.ПолучитьЛог("oscript.lib.configor.map"); | ||
|
||
КонецПроцедуры | ||
|
||
#Область ПрограммныйИнтерфейс | ||
|
||
// Возвращает приоритет провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Число - текущий приоритет провайдера | ||
// | ||
Функция Приоритет() Экспорт | ||
Возврат 3; | ||
КонецФункции | ||
|
||
// Возвращает идентификатор провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий идентификатор провайдера | ||
// | ||
Функция Идентификатор() Экспорт | ||
Возврат "map"; | ||
КонецФункции | ||
|
||
// Возвращает тип провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Строка - текущий тип провайдера | ||
// | ||
Функция ТипПровайдера() Экспорт | ||
Возврат "memory"; | ||
КонецФункции | ||
|
||
// Выполняет чтение параметров для провайдера | ||
// | ||
// Параметры: | ||
// НастройкиПровайдера - Структура - структура настроек провайдера | ||
// | ||
// Возвращаемое значение: | ||
// Соответствие - результат чтения провайдера | ||
// | ||
Функция ПрочитатьПараметры(НастройкиПровайдера) Экспорт | ||
|
||
Лог.Отладка("Считываю параметры из соответствия"); | ||
|
||
Возврат мПараметры; | ||
|
||
КонецФункции | ||
|
||
#КонецОбласти |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.