33 lines
859 B
Python
33 lines
859 B
Python
import json
|
|
import os
|
|
|
|
class SharedPreferences:
|
|
def __init__(self, path="data/shared_preferences.json"):
|
|
self.path = path
|
|
self._data = self._load_preferences()
|
|
|
|
def _load_preferences(self):
|
|
if os.path.exists(self.path):
|
|
with open(self.path, "r") as f:
|
|
return json.load(f)
|
|
return {}
|
|
|
|
def _save_preferences(self):
|
|
with open(self.path, "w") as f:
|
|
json.dump(self._data, f, indent=4)
|
|
|
|
def get(self, key, default=None):
|
|
return self._data.get(key, default)
|
|
|
|
def put(self, key, value):
|
|
self._data[key] = value
|
|
self._save_preferences()
|
|
|
|
def remove(self, key):
|
|
if key in self._data:
|
|
del self._data[key]
|
|
self._save_preferences()
|
|
|
|
def clear(self):
|
|
self._data.clear()
|
|
self._save_preferences() |