mon-site-perso/backend/utils/json_crud.py
2025-09-20 14:16:14 +02:00

33 lines
No EOL
941 B
Python

import json
import os
def load_json(filename):
if not os.path.exists(filename):
return []
with open(filename, 'r', encoding='utf-8') as f:
return json.load(f)
def save_json(filename, data):
with open(filename, 'w', encoding='utf-8') as f:
json.dump(data, f, indent=4, ensure_ascii=False)
def add_entry(filename, entry):
data = load_json(filename)
data.append(entry)
save_json(filename, data)
return entry
def update_entry(filename, entry_id, new_entry):
data = load_json(filename)
for i, item in enumerate(data):
if item.get('id') == entry_id:
data[i] = new_entry
save_json(filename, data)
return new_entry
return None
def delete_entry(filename, entry_id):
data = load_json(filename)
new_data = [item for item in data if item.get('id') != entry_id]
save_json(filename, new_data)
return len(data) != len(new_data)