'`components` is a list of Docutils components each containing a
``.settings_spec`` attribute.  `defaults` is a mapping of setting
default overrides.'

def __init__(self, components=(), defaults=None, read_config_files=None, *args, **kwargs):

    self.lists = {}
    'Set    of    list-type    settings.'
    self.config_files = []
    'List    of    paths    of    applied    configuration    files.'
    optparse.OptionParser.__init__(self, option_class=Option, add_help_option=None, formatter=optparse.TitledHelpFormatter(width=78), *args, **kwargs)
    if (not self.version):
        self.version = self.version_template
    self.relative_path_settings = list(self.relative_path_settings)
    self.components = ((self,) + tuple(components))
    self.populate_from_components(self.components)
    self.set_defaults_from_dict((defaults or {}))
    if (read_config_files and (not self.defaults['_disable_config'])):
        try:
            config_settings = self.get_standard_config_settings()
        except ValueError as error:
            self.error(error)
        self.set_defaults_from_dict(config_settings.__dict__)
