35 lines
1.5 KiB
Python
35 lines
1.5 KiB
Python
import json
|
|
import os
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
class DataManager:
|
|
def __init__(self):
|
|
"""Initialise le gestionnaire de données et charge les identités existantes."""
|
|
self.file_path = os.path.join(os.path.dirname(__file__), "../ressources/data.json")
|
|
self.identities = self.load_data() # Charge les données existantes
|
|
|
|
def load_data(self):
|
|
"""Charge les identités depuis le fichier JSON."""
|
|
if not os.path.exists(self.file_path):
|
|
print(f"⚠️ Fichier {self.file_path} introuvable. Création d'un nouveau fichier...")
|
|
self.save_data() # Crée un fichier vide
|
|
return {}
|
|
|
|
try:
|
|
with open(self.file_path, "r", encoding="utf-8") as f:
|
|
data = json.load(f)
|
|
return data.get("identities", {})
|
|
except (json.JSONDecodeError, IOError) as e:
|
|
print(f"❌ Erreur lors du chargement des données : {e}")
|
|
return {}
|
|
|
|
def save_data(self):
|
|
"""Sauvegarde les identités dans un fichier JSON."""
|
|
try:
|
|
os.makedirs(os.path.dirname(self.file_path), exist_ok=True)
|
|
with open(self.file_path, "w", encoding="utf-8") as f:
|
|
json.dump({"identities": self.identities}, f, ensure_ascii=False, indent=4)
|
|
print(f"✅ Données sauvegardées dans {self.file_path}")
|
|
except IOError as e:
|
|
print(f"❌ Erreur lors de la sauvegarde des données : {e}")
|