def METHOD_NAME(codename):
    problemset = cache.get('OJAPI_data_Atcoder', None)
    if problemset is None:
        api_url = 'https://kenkoooo.com/atcoder/resources/problems.json'
        problemset_data = requests.get(api_url, timeout=_TIMEOUT).json()
        if problemset_data is None:
            return None
        code_template = 'AC_%s'  # I.e.: index = abc064_c
        problemset = {}
        for problem in problemset_data:
            code = code_template % (problem['id'])
            if code in problemset:
                raise ValueError('Problem code %s appeared twice in the problemset.' % code)
            problemset[code] = {
                'contestId': problem['contest_id'],
                'index': problem['id'],
                'title': problem['title'],
            }
        cache.set('OJAPI_data_Atcoder', problemset, settings.OJAPI_CACHE_TIMEOUT)
    return problemset.get(codename, None)