'Loads configuration from config file.'

def _load_cfg(self):

    config = self._config
    startsection = self._start_section
    if (not config.has_section(startsection)):
        config.add_section(startsection)
        defaults = StartUpConfig.DEFAULTS
        config.set(startsection, 'auto-update', defaults['auto-update'])
        config.set(startsection, 'frequency', defaults['frequency'])
        config.set(startsection, 'last-update', defaults['last-update'])
        config.set(startsection, 'last-commit', defaults['last-commit'])
        config.set(startsection, 'accepted-disclaimer', defaults['accepted-disclaimer'])
    config.read(self._start_cfg_file)
    boolvals = {'false': 0, 'off': 0, 'no': 0, 'true': 1, 'on': 1, 'yes': 1}
    auto_upd = config.get(startsection, 'auto-update', raw=True)
    auto_upd = bool(boolvals.get(auto_upd.lower(), False))
    accepted_disclaimer = config.get(startsection, 'accepted-disclaimer', raw=True)
    accepted_disclaimer = bool(boolvals.get(accepted_disclaimer.lower(), False))
    freq = config.get(startsection, 'frequency', raw=True).upper()
    if (freq not in (StartUpConfig.FREQ_DAILY, StartUpConfig.FREQ_WEEKLY, StartUpConfig.FREQ_MONTHLY)):
        freq = StartUpConfig.FREQ_DAILY
    lastupdstr = config.get(startsection, 'last-update', raw=True).upper()
    try:
        lastupd = datetime.strptime(lastupdstr, self.ISO_DATE_FMT).date()
    except:
        lastupd = (date.today() - timedelta(days=31))
    try:
        lastrev = config.get(startsection, 'last-commit')
    except TypeError:
        lastrev = 0
    return (auto_upd, freq, lastupd, lastrev, accepted_disclaimer)
