'Overridding to make updating the defaults after instantiation of
the option parser possible, update_defaults() does the dirty work.'

def get_default_values(self):

    if (not self.process_default_values):
        return optparse.Values(self.defaults)
    defaults = self.update_defaults(self.defaults.copy())
    for option in self._get_all_options():
        default = defaults.get(option.dest)
        if isinstance(default, string_types):
            opt_str = option.get_opt_string()
            defaults[option.dest] = option.check_value(opt_str, default)
    return optparse.Values(defaults)
