﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	parents
30	Separate out and geniericify utility for parsing config from mediagoblin/celery_setup/__init__.py	Christopher Allan Webber	Christopher Allan Webber	"{{{
#!rst
It would be great if we could have something like:

::

    >>> from mediagoblin.util import parse_app_config
    >>> parse_app_config(path_to_config_file, app_section='app:mediagoblin')
    (app_config, global_config)

where the former is the app config (a dictionary of all values you
see in [app:mediagoblin] in mediagoblin.ini) and the latter is the
global config (a dictionary of dictionaries for all sections).

This tool kind of already exists in
mediagoblin/celery\_setup/**init**.py, you can see a section like:

::

        parser = NicerConfigParser(mgoblin_conf_file)
        parser.read(mgoblin_conf_file)
        parser._defaults.setdefault(
            'here', os.path.dirname(os.path.abspath(mgoblin_conf_file)))
        parser._defaults.setdefault(
            '__file__', os.path.abspath(mgoblin_conf_file))
    
        mgoblin_section = dict(parser.items(mgoblin_section))
        mgoblin_conf = dict(
            [(section_name, dict(parser.items(section_name)))
             for section_name in parser.sections()])

This should be:


-  separated out into an independent utility
-  given tests in mediagoblin/tests/test\_util.py
-  able to take the specific section as the app\_section keyword
   argument (defaults to 'app:mediagoblin')
-  bonus feature? If 'app:mediagoblin' is not found maybe we could
   find the section by iterating through until we find the one that
   has 'use': 'egg:mediagoblin#app'



}}}"	defect	closed	minor	0.0.3	programming	FIXED			
