def get_value(self, section, option, default=None):
        try:
            valuestr = self.get(section, option)
        except Exception:
            if default is not None:
                return default
            raise

        types = (int, float)
        for numtype in types:
            try:
                val = numtype(valuestr)

                # truncated value ?
                if val != float(valuestr):
                    continue

                return val
            except (ValueError, TypeError):
                continue
        # END for each numeric type

        # try boolean values as git uses them
        vl = valuestr.lower()
        if vl == 'false':
            return False
        if vl == 'true':
            return True

        if not isinstance(valuestr, string_types):
            raise TypeError("Invalid value type: only int, long, float and str are allowed", valuestr)

        return valuestr
A mock for functions of the form subscribe_to_*() to represent
dataset/ETHPy150Open gitpython-developers/GitPython/git/config.py/GitConfigParser.get_value--crossover with--dataset/ETHPy150Open oppia/oppia/core/domain/user_jobs_one_off_test.py/DashboardSubscriptionsOneOffJobTests._null_fn