py.lib.aw_config
py.lib.aw_config/src/aw_config/file.py
.. 0.202606.1 . Рефакторинг документирования функций в file.py . Создание служебных методов для упрощения последующего развития модуля + Возможность получить раздел по заданному пути в иерархии toml-файла + Работа с списками хэш-таблиц toml (возможность в конфигурации использовать массивы однотипных секций.
1 # coding: utf-8
2 """\
3 Функции, помогающие в разборе конфигурационного файла
4 """
16 Базовое исключение при обработке конфигурационного файла
17 """
22 Отсутствие нужного раздела в конфигурации
23 """
28 Работа с содержимым файла конфигурации
29 """
32 :param file_data: Разобранное в словарь содержимое файла конфигурации
33 :param section_name: Имя секции в конфигурации
34 """
49 pass
56 Получить из текущего раздела конфигурации нужный элемент
58 :param name: имя параметра
59 :param val_type: тип параметра
60 :param default: значение параметра по умолчанию
61 :param mandatory: является ли параметр обязательным. Если ``False``, то в случае отсутствия
62 параметра будет использовано значение None
63 """
85 Поучить имя текущего раздели или подраздела по заданному имени
87 :type names: str
88 :param names: Последовательные имена подразделов для получения доступа к глубокой иерархии
89 :returns: Имя подраздела
90 """
103 Получить конфигурационный элемент по заданному пути
104 """
132 Получить раздел конфигурационного файла из текущего или корневого раздела
134 :param name: имя раздела
135 :param mandatory: является ли раздел обязательным или он может отсутствовать в конфигурации. Во втором
136 случае, будет создан пустой словарь и использован в качестве данных раздела.
137 :returns: Экземпляр того-же класса, только для новой секции
138 """
158 Поучить секцию конфигурации по явно заданному пути
160 :type names: str
161 :param names: Имя секции на текущем уровне. Можно задавать несколько
162 для прохода по всей иерархии необходимой иерархии одним вызовом.
164 :type mandatory: bool
165 :param mandatory: Является ли искомая секция обязательной?
167 :returns: Экземпляр того-же класса, только для новой секции
168 """
188 Для случая, когда раздел конфигурации задан массивом toml ([[${! SOME_SECTION !}]])
190 :type name: str
191 :param name: Имя раздела
193 :type mandatory: bool
194 :param mandatory: Данный раздел обязателен и не может отсутствовать
196 :returns: Спискол из экземпляров данного класса, нацеленные на элементы массива хэш-таблиц файла toml
197 """
217 ]
229 ]
234 Работа с самим файлом конфигурации
235 """
244 Производим разбор файла конфигурации и создаём корневой раздел конфигурации
245 """
259 pass