33 lines
No EOL
941 B
Python
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) |