@staticmethod
def get_battle_xp(data: list, account_id: str, file_id: int, replay_date: str
    ) ->list:
    """
        Extracts the xp data from the battle replay
        """
    raw_data = data[0]['personal']
    battle_id = list(raw_data.keys())[0]
    battle_data = raw_data[battle_id]
    battle_xp = [{'replay_date': replay_date, 'file_id': file_id,
        'account_id': account_id, 'order_free_xp_factor_100': battle_data.
        get('orderFreeXPFactor100', None), 'order_xp_factor_100':
        battle_data.get('orderXPFactor100', None), 'free_xp_replay':
        battle_data.get('freeXPReplay', None), 'xp_other': battle_data.get(
        'xp/other', None), 'premium_t_men_xp_factor_100': battle_data.get(
        'premiumTmenXPFactor100', None), 'achievement_xp': battle_data.get(
        'achievementXP', None), 'igr_xp_factor_10': battle_data.get(
        'igrXPFactor10', None), 'event_t_men_xp': battle_data.get(
        'eventTMenXP', None), 'premium_plus_xp_factor_100': battle_data.get
        ('premiumPlusXPFactor100', None),
        'premium_plus_t_men_xp_factor_100': battle_data.get(
        'premiumPlusTmenXPFactor100', None), 'original_t_men_xp':
        battle_data.get('originalTMenXP', None), 'referal_20_xp':
        battle_data.get('referral20XP', None), 'subtotal_t_men_xp':
        battle_data.get('subtotalTMenXP', None),
        'premium_vehicle_xp_factor_100': battle_data.get(
        'premiumVehicleXPFactor100', None), 'additional_xp_factor_100':
        battle_data.get('additionalXPFactor10', None), 'factual_xp':
        battle_data.get('factualXP', None), 'order_free_xp': battle_data.
        get('orderFreeXP', None), 'booster_t_men_xp_factor_100':
        battle_data.get('boosterTMenXPFactor100', None), 'original_xp':
        battle_data.get('originalXP', None),
        'applied_premium_xp_factor_100': battle_data.get(
        'appliedPremiumXPFactor100', None), 'booster_xp': battle_data.get(
        'boosterXP', None), 'factual_free_xp': battle_data.get(
        'factualFreeXP', None), 'daily_xp_factor_10': battle_data.get(
        'dailyXPFactor10', None), 'event_free_xp': battle_data.get(
        'eventFreeXP', None), 'player_rank_xp_factor_100': battle_data.get(
        'playerRankXPFactor100', None), 'xp_penalty': battle_data.get(
        'xpPenalty', None), 'xp': battle_data.get('xp', None),
        'booster_xp_factor_100': battle_data.get('boosterXPFactor100', None
        ), 'order_t_men_xp': battle_data.get('orderTMenXP', None),
        'original_xp_penalty': battle_data.get('originalXPPenalty', None),
        'order_t_men_xp_factor_100': battle_data.get('orderTMenXPFactor100',
        None), 'subtotal_xp': battle_data.get('subtotalXP', None),
        'squad_xp': battle_data.get('squadXP', None), 'original_free_xp':
        battle_data.get('originalFreeXP', None), 'xp_assist': battle_data.
        get('xp/assist', None), 'free_xp': battle_data.get('freeXP', None),
        'premium_vehicle_xp': battle_data.get('premiumVehicleXP', None),
        'referral_20_xp_factor_100': battle_data.get(
        'referral20XPFactor100', None), 'event_xp': battle_data.get(
        'eventXP', None), 'subtotal_free_xp': battle_data.get(
        'subtotalFreeXP', None), 'achievement_free_xp': battle_data.get(
        'achievementFreeXP', None), 'player_rank_xp': battle_data.get(
        'playerRankXP', None), 'squad_xp_factor_100': battle_data.get(
        'squadXPFactor100', None), 'applied_premium_t_men_xp_factor_100':
        battle_data.get('appliedPremiumTmenXPFactor100', None),
        'booster_t_men_xp': battle_data.get('boosterTMenXP', None),
        'xp_attack': battle_data.get('xp/attack', None),
        'ref_system_xp_factor_10': battle_data.get('refSystemXPFactor10',
        None), 't_men_xp_replay': battle_data.get('tmenXPReplay', None),
        'premium_xp_factor_100': battle_data.get('premiumXPFactor100', None
        ), 't_men_xp': battle_data.get('tmenXP', None),
        'booster_free_xp_factor_100': battle_data.get(
        'boosterFreeXPFactor100', None), 'booster_free_xp': battle_data.get
        ('boosterFreeXP', None), 'battle_num': battle_data.get('battleNum',
        None)}]
    return battle_xp
