config_manager.py 1015 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding: utf-8 -*-
  2. import json
  3. __data = {}
  4. __DEFAULT_VALUE = """{
  5. "CurKeySet": "PC",
  6. "DontLeave": false,
  7. "BackLight": "/proc/driver/backlight",
  8. "Battery": "/sys/class/power_supply/axp20x-battery/uevent",
  9. "MPD_socket": "/tmp/mpd.socket",
  10. "UPDATE_URL": "https://raw.githubusercontent.com/clockworkpi/CPI/master/launcher_ver.json",
  11. "VERSION": "stable-1.0",
  12. "SKIN": "default",
  13. "plugins": [
  14. "backlight",
  15. "battery",
  16. "wifi",
  17. ],
  18. "main_applet": "springboard"
  19. }
  20. """
  21. __config_list = {}
  22. __initialized = False
  23. def load_config(name="config.json"):
  24. global __data
  25. try:
  26. with open(name, "rt") as f:
  27. __data = json.loads(f.read())
  28. except SystemError:
  29. __data = json.loads(__DEFAULT_VALUE)
  30. def save(name):
  31. global __data
  32. with open(name, "wt") as f:
  33. f.write(json.dumps(__data))
  34. def get(key):
  35. global __data
  36. try:
  37. return __data[key]
  38. except KeyError:
  39. return None
  40. if not __initialized:
  41. load_config("config.json")
  42. __initialized = True