62 lines
2.4 KiB
Python
62 lines
2.4 KiB
Python
|
|
import json
|
||
|
|
import os
|
||
|
|
from datetime import datetime, timedelta
|
||
|
|
|
||
|
|
|
||
|
|
class DataManager:
|
||
|
|
""" Gère la sauvegarde et le chargement des données. """
|
||
|
|
|
||
|
|
def __init__(self):
|
||
|
|
self.identities = {}
|
||
|
|
self.load_data()
|
||
|
|
|
||
|
|
def save_data(self):
|
||
|
|
""" Sauvegarde les identités dans un fichier JSON. """
|
||
|
|
try:
|
||
|
|
with open('ressources/data.json', 'w', encoding='utf-8') as f:
|
||
|
|
json.dump({'identities': self.identities}, f, ensure_ascii=False, indent=4)
|
||
|
|
except Exception as e:
|
||
|
|
print(f"Erreur lors de la sauvegarde des données: {e}")
|
||
|
|
|
||
|
|
def load_data(self):
|
||
|
|
""" Charge les identités depuis un fichier JSON. """
|
||
|
|
try:
|
||
|
|
if os.path.exists('ressources/data.json'):
|
||
|
|
with open('ressources/data.json', 'r', encoding='utf-8') as f:
|
||
|
|
data = json.load(f)
|
||
|
|
self.identities = data.get('identities', {})
|
||
|
|
except Exception as e:
|
||
|
|
print(f"Erreur lors du chargement des données: {e}")
|
||
|
|
self.identities = {}
|
||
|
|
|
||
|
|
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}")
|