Source code for AutoArchive._configuration.configuration_base

# _configuration.py
#
# Project: AutoArchive
# License: GNU GPLv3
#
# Copyright (C) 2003 - 2012 Róbert Čerňanský



""":class:`ConfigurationBase` class."""



__all__ = ["ConfigurationBase"]



# {{{ INCLUDES

from abc import *
from . import *

# }}} INCLUDES



# {{{ CLASSES

[docs]class ConfigurationBase(IConfiguration): "See :class:`.IConfiguration`" @abstractmethod def __init__(self): #: Stores options and their values. Key is of :class:`.Option` type and value is `object`. self.options_ = {}
[docs] def __getitem__(self, option): "See: :meth:`.IConfiguration.__getitem__()`." optionForceForm = OptionsUtils.tryGetForceForm(option) if optionForceForm is not None: forceValue = self.getRawValue(optionForceForm) if forceValue is not None: return forceValue optionNegationForm = OptionsUtils.tryGetNegationForm(option) if optionNegationForm is not None: negationValue = self.getRawValue(optionNegationForm) if negationValue: return False # bool-type options can not return None if option._optType is bool: return self.getRawValue(option) or False return self.getRawValue(option)
[docs] def getRawValue(self, option): "See: :meth:`.IConfiguration.getRawValue()`." return self.options_[option]
# }}} CLASSES