Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 23 additions & 5 deletions src/log_analyser/objects/map.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):

Expand Down Expand Up @@ -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):

Expand All @@ -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):

Expand Down Expand Up @@ -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
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 ""
7 changes: 6 additions & 1 deletion src/log_analyser/objects/player.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
if sum(roles_time.values()) == 0:
self.role = "Unknown"
else:
self.role = max(roles_time, key=roles_time.get)
10 changes: 5 additions & 5 deletions src/log_analyser/roles/lg/fr.json
Original file line number Diff line number Diff line change
@@ -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",
Expand All @@ -14,28 +14,28 @@
"Ashe": "Ashe",
"Bastion": "Bastion",
"Cassidy": "Cassidy",
"Echo": "Echo",
"Écho": "Echo",
"Genji": "Genji",
"Hanzo": "Hanzo",
"Chacal": "Junkrat",
"Mei": "Mei",
"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",
"Illari": "Illari",
"Kiriko": "Kiriko",
"Vital": "Lifeweaver",
"Lúcio": "Lúcio",
"Mercy": "Mercy",
"Ange": "Mercy",
"Moira": "Moira",
"Zenyatta": "Zenyatta"
}
3 changes: 2 additions & 1 deletion src/process_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
for file in os.listdir("logs"):
if file.endswith(".txt"):
la = LogAnalyser('logs', file, "test")
la.run()
la.run()
print("a")