a03b141a95
Brief summary of the modifications: * Use six for compatibility with both Python 2 and 3; * Replace UserDict.DictMixin with collections.MutableMapping; * Fix relative imports; * Use test-requirements.txt for requirements that are common to both Python 2 and 3, and test-requirements-py{2,3}.txt for version-specific requirements; * Miscellaneous fixes. * Use a specific test_db_py3.cfg file for Python 3, that only runs tests on sqlite. Thanks to Victor Stinner who co-wrote this patch. Change-Id: Ia6dc536c39d274924c21fd5bb619e8e5721e04c4 Co-Authored-By: Victor Stinner <victor.stinner@enovance.com>
28 lines
679 B
Python
28 lines
679 B
Python
"""
|
|
Configuration parser module.
|
|
"""
|
|
|
|
from six.moves.configparser import ConfigParser
|
|
|
|
from migrate.versioning.config import *
|
|
from migrate.versioning import pathed
|
|
|
|
|
|
class Parser(ConfigParser):
|
|
"""A project configuration file."""
|
|
|
|
def to_dict(self, sections=None):
|
|
"""It's easier to access config values like dictionaries"""
|
|
return self._sections
|
|
|
|
|
|
class Config(pathed.Pathed, Parser):
|
|
"""Configuration class."""
|
|
|
|
def __init__(self, path, *p, **k):
|
|
"""Confirm the config file exists; read it."""
|
|
self.require_found(path)
|
|
pathed.Pathed.__init__(self, path)
|
|
Parser.__init__(self, *p, **k)
|
|
self.read(path)
|