def validate_id_birthday(gd, fix_coordination_number_day=True):

    today = datetime.date.today()

    day = int(gd['day'])
    if fix_coordination_number_day and day > 60:
        day -= 60

    if gd['century'] is None:

        # The century was not specified, and need to be calculated from todays date
        current_year = today.year
        year = int(today.strftime('%Y')) - int(today.strftime('%y')) + int(gd['year'])

        if ('%s%s%02d' % (gd['year'], gd['month'], day)) > today.strftime('%y%m%d'):
            year -= 100

        # If the person is older than 100 years
        if gd['sign'] == '+':
            year -= 100
    else:
        year = int(gd['century'] + gd['year'])

        # Make sure the year is valid
        # There are no swedish personal identity numbers where year < 1800
        if year < 1800:
            raise ValueError

    # ValueError will be raise for invalid dates
    birth_day = datetime.date(year, int(gd['month']), day)

    # birth_day must not be in the future
    if birth_day > today:
        raise ValueError

    return birth_day
Load dataset defined with name in SETTINGS json from cache. If not in cache
dataset/ETHPy150Open AppScale/appscale/AppServer/lib/django-1.4/django/contrib/localflavor/se/utils.py/validate_id_birthday--crossover with--dataset/ETHPy150Open theusual/kaggle-seeclickfix-ensemble/Miroslaw/datasets.py/load_dataset