Module s.u.config

Part of spamfighter.utils View Source

Питоновский враппер конфигурационных XML файлов

Превращает xml файл с конфигом в питоновскую структуру настроек

Парсинг xml ===========

Структура xml конфига ===================== :

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE config>
   <config>
       <global>
       <!-- основная секция. Все что находится в этой секции будет доступно как аттрибуты модуля config  -->
           <servers>
               <!-- список "боевых" серверов. -->
               <server id="1">
                   <hostname>webmorda.netstream.ru</hostname>
               </server>
           </servers>
           <some_my_params>some my value</some_my_params>
       </global>
       <local>
       </local>
       <development>
           <!-- девелоперские настройки. Эта секция будет подключена в случае если сервер на котором запущено приложение, не в списке "боевых" серверов.
           Настройки из этого раздела перезаписывают одноименные настроки из основного раздела -->
           <some_my_params>some my value</some_my_params>
       </development>
       <testing>
       <!-- тестировочный раздел. Будет подключен если приложение запущено из под trial. Настройки из этого раздела перетирают одноименные настройки
       из основного и девелоперского разделов.
           <some_my_params>some my value</some_my_params>
       </testing>
   </config>

Пример использования ====================

from spamfighter.utils import config # в случае если используется конфигурационный файл ./config.xml - этой строки достаточно config.load("cfg.py") print config.some_my_params

Function parse_file Парсим переданный файл и возвращаем объект Cfg
Function load Загружаем переданный файл с конфигом или конфиг по умолчанию и
Class Cfg Класс в который мы заворачиваем хеш. Нужен для того, чтобы нормально отображать штуки типа config.db.dsn
Class ParseException Исключение кидаемое при попытке распарсить файл с некорректной структурой
Function _parse_dom Undocumented
Function _get_class_by_name Undocumented
Function _is_numeric_dict Undocumented
Function _deep_merge пробегаемся по всему хешу
Function _get_path Undocumented
Function _load_file Загружаем указанный файл и возвращаем его в качестве конфигурационного.
Function _export_config Экспортирует указанный конфигурационный файл в качетсве атрибутов данного модуля.
def parse_file(filename): (source)
Парсим переданный файл и возвращаем объект Cfg

Данный метод НЕ парсит секции global, development и проч, а просто переводит xml в питоновский объект

Использование: from spamfighet.utils.config import parse_file cfg = parse_file('cfg.xml') print cfg.some_my_params

Parametersfilenameимя файла с конфигом @rtype : Cfg @return : экземпляр Cfg c настройками (type: str )
def _parse_dom(dom): (source)
Undocumented
def _get_class_by_name(name): (source)
Undocumented
def _is_numeric_dict(d): (source)
Undocumented
def _deep_merge(old, new): (source)
пробегаемся по всему хешу
def _get_path(): (source)
Undocumented
def load(filename=_get_path() + '/config.xml'): (source)
Загружаем переданный файл с конфигом или конфиг по умолчанию и отображаем его в виде содержимого данного модуля.

Использование: from spamfighther.utils import config config.load("cfg.xml") print config.some_my_param

def _load_file(filename): (source)
Загружаем указанный файл и возвращаем его в качестве конфигурационного.
def _export_config(__config): (source)
Экспортирует указанный конфигурационный файл в качетсве атрибутов данного модуля.

Предварительно удаляем старые отображения.

API Documentation for SpamFighter, generated by pydoctor at 2009-02-27 11:58:37.