diff --git a/src/log_analyser/objects/map.py b/src/log_analyser/objects/map.py index 57cd0c0..1c61044 100644 --- a/src/log_analyser/objects/map.py +++ b/src/log_analyser/objects/map.py @@ -2,7 +2,8 @@ from log_analyser.objects.round import Round from log_analyser.objects.team import Team from datetime import datetime - +import os +import json class Map(Object): @@ -122,13 +123,13 @@ def add_hero_swap(self, data): self.rounds[self.actual_round].teams[data["team_name"]].players[data["player_name"]].characters[data["character_name"]].add_end_time({"end": data["time"]}) self.events.append({"type": "hero_swap", "timestamp": data["time"], "player": data["player_name"], - "description": "{} swap on {}".format(data["player_name"], data["character_swap"])}) + "description": "{} swap on {}".format(data["player_name"], data["character_swap"]), "hero": self.find_character_name_in_english(data["character_swap"])}) def add_hero_spawn(self, data): self.add_player(data) self.events.append({"type": "hero_spawn", "timestamp": data["time"], "player": data["player_name"], - "description": "{} spawn with {}".format(data["player_name"], data["character_name"])}) + "description": "{} spawn with {}".format(data["player_name"], data["character_name"]), "hero": self.find_character_name_in_english(data["character_name"])}) def create_if_player_and_caracter_not_exist(self, team, player_name, character_name): @@ -146,7 +147,7 @@ def add_ultimate_start(self, data): self.rounds[self.actual_round].teams[data[3]].players[data[4]].characters[data[5]].add_ultimate_start(ultimate_start_data) self.events.append({"type": "ultimate", "timestamp": data[2], "player": data[4], - "description": "{} use {} ultimate".format(data[4], data[5])}) + "description": "{} use {} ultimate".format(data[4], data[5]), "hero": self.find_character_name_in_english(data[5])}) def add_ultimate_end(self, data): @@ -235,4 +236,21 @@ def aggregate_stats(self): players_data[player_name] = players_data.get(player_name, []) players_data[player_name].append({"round": index, "stats": aggregated_stats}) - self.stats_graph = players_data \ No newline at end of file + self.stats_graph = players_data + + def find_character_name_in_english(self, character_name): + + folder_path = "log_analyser/roles/lg/" + files = os.listdir(folder_path) + + # Parcourir les fichiers + for file_name in files: + # Vérifier si le fichier est un fichier JSON + if file_name.endswith('.json'): + file_path = os.path.join(folder_path, file_name) + with open(file_path, 'r', encoding='utf-8') as file: + data = json.load(file) + if character_name in data: + return data[character_name] # Retourne la valeur associée au nom du personnage + print("Character name not found in english : ", character_name) + return "" diff --git a/src/log_analyser/objects/player.py b/src/log_analyser/objects/player.py index 1e1669e..b3287b5 100644 --- a/src/log_analyser/objects/player.py +++ b/src/log_analyser/objects/player.py @@ -20,6 +20,8 @@ def add_character(self, data): def find_role(self): + if self.name == "MrSully": + pass roles_time = {"Tank": 0, "DPS": 0, "Support": 0} for character in self.characters: character_role = self.characters[character].role @@ -28,4 +30,7 @@ def find_role(self): if "end" in play_time and "start" in play_time: roles_time[character_role] += float(play_time["end"]) - float(play_time["start"]) - self.role = max(roles_time, key=roles_time.get) \ No newline at end of file + if sum(roles_time.values()) == 0: + self.role = "Unknown" + else: + self.role = max(roles_time, key=roles_time.get) diff --git a/src/log_analyser/roles/lg/fr.json b/src/log_analyser/roles/lg/fr.json index 9e1ab3f..44a47d0 100644 --- a/src/log_analyser/roles/lg/fr.json +++ b/src/log_analyser/roles/lg/fr.json @@ -1,7 +1,7 @@ { "D.Va": "D.Va", "Doomfist": "Doomfist", - "Reine des junkers": "Junker Queen", + "Reine des Junkers": "Junker Queen", "Mauga": "Mauga", "Orisa": "Orisa", "Ramattra": "Ramattra", @@ -14,7 +14,7 @@ "Ashe": "Ashe", "Bastion": "Bastion", "Cassidy": "Cassidy", - "Echo": "Echo", + "Écho": "Echo", "Genji": "Genji", "Hanzo": "Hanzo", "Chacal": "Junkrat", @@ -22,12 +22,12 @@ "Pharah": "Pharah", "Faucheur": "Reaper", "Sojourn": "Sojourn", - "Soldat: 76": "Soldier: 76", + "Soldat : 76": "Soldier: 76", "Sombra": "Sombra", "Symmetra": "Symmetra", "Torbjörn": "Torbjörn", "Tracer": "Tracer", - "Fatal": "Widowmaker", + "Fatale": "Widowmaker", "Ana": "Ana", "Baptiste": "Baptiste", "Brigitte": "Brigitte", @@ -35,7 +35,7 @@ "Kiriko": "Kiriko", "Vital": "Lifeweaver", "Lúcio": "Lúcio", - "Mercy": "Mercy", + "Ange": "Mercy", "Moira": "Moira", "Zenyatta": "Zenyatta" } \ No newline at end of file diff --git a/src/process_file.py b/src/process_file.py index 3ebd603..4061443 100644 --- a/src/process_file.py +++ b/src/process_file.py @@ -4,4 +4,5 @@ for file in os.listdir("logs"): if file.endswith(".txt"): la = LogAnalyser('logs', file, "test") - la.run() \ No newline at end of file + la.run() + print("a") \ No newline at end of file