CATEGORY_CODE_MAP = {'01': ['社会保障関係費', '01'],
                     '02': ['年金給付費', '01'],
                     '03': ['医療給付費', '01'],
                     '04': ['介護給付費', '01'],
                     '05': ['少子化対策費', '01'],
                     '06': ['生活扶助等社会福祉費', '01'],
                     '07': ['保健衛生対策費', '01'],
                     '08': ['雇用労災対策費', '01'],
                     '10': ['文教及び科学振興費', '10'],
                     '11': ['義務教育費国庫負担金', '10'],
                     '13': ['科学技術振興費', '10'],
                     '14': ['文教施設費', '10'],
                     '15': ['教育振興助成費', '10'],
                     '16': ['育英事業費', '10'],
                     '20': ['国債費', '20'],
                     '25': ['恩給関係費', '25'],
                     '26': ['文官等恩給費', '25'],
                     '27': ['旧軍人遺族等恩給費', '25'],
                     '28': ['恩給支給事務費', '25'],
                     '29': ['遺族及び留守家族等援護費', '25'],
                     '31': ['地方交付税交付金', '31'],
                     '32': ['地方特例交付金', '32'],
                     '35': ['防衛関係費', '35'],
                     '40': ['公共事業関係費', '40'],
                     '41': ['治山治水対策事業費', '40'],
                     '42': ['道路整備事業費', '40'],
                     '43': ['港湾空港鉄道等整備事業費', '40'],
                     '44': ['住宅都市環境整備事業費', '40'],
                     '45': ['公園水道廃棄物処理等施設整備費', '40'],
                     '46': ['農林水産基盤整備事業費', '40'],
                     '47': ['社会資本総合整備事業費', '40'],
                     '48': ['推進費等', '40'],
                     '49': ['災害復旧等事業費', '40'],
                     '50': ['経済協力費', '50'],
                     '60': ['中小企業対策費', '60'],
                     '63': ['エネルギー対策費', '63'],
                     '65': ['食料安定供給関係費', '65'],
                     '94': ['新型コロナウイルス感染症対策予備費', '98'],
                     '95': ['その他の事項経費', '95'],
                     '96': ['熊本地震復旧等予備費', '98'],
                     '98': ['予備費', '98']
                     }


def get_category_name(category_code):
    try:
        return CATEGORY_CODE_MAP[category_code][0]
    except:
        raise Exception('[ERROR] Unknown category_code (= %s)' % category_code)


def get_super_category_name(category_code):
    try:
        super_category_code = CATEGORY_CODE_MAP[category_code][1]
        return CATEGORY_CODE_MAP[super_category_code][0]
    except:
        raise Exception('[ERROR] Unknown category_code (= %s)' % category_code)
