'Constructor.
Params:
require_configfile -- whether we should fail on no config file.'

def __init__(self, require_configfile=True):

    self.names_list = []
    self.short_options = []
    self.long_options = []
    self.options_map = {}
    self.default_map = {}
    self.required_map = {}
    self.environ_map = {}
    self.attr_priorities = {}
    self.require_configfile = require_configfile
    self.add(None, None, 'h', 'help', self.help)
    self.add('configfile', None, 'c:', 'configuration=')
    here = os.path.dirname(os.path.dirname(sys.argv[0]))
    searchpaths = [os.path.join(here, 'etc', 'supervisord.conf'), os.path.join(here, 'supervisord.conf'), 'supervisord.conf', 'etc/supervisord.conf', '/etc/supervisord.conf', '/etc/supervisor/supervisord.conf']
    self.searchpaths = searchpaths
    self.environ_expansions = {}
    for (k, v) in os.environ.items():
        self.environ_expansions[('ENV_%s' % k)] = v
