api_skin_info.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from .tool.func import *
  2. def api_skin_info_2(conn, name):
  3. curs = conn.cursor()
  4. if name == '':
  5. name = skin_check()
  6. else:
  7. name = './views/' + name + '/index.html'
  8. if not flask.request.args.get('all', None):
  9. json_address = re.sub("(((?!\.|\/).)+)\.html$", "info.json", name)
  10. try:
  11. json_data = json.loads(open(json_address).read())
  12. except:
  13. json_data = None
  14. if json_data:
  15. return flask.jsonify(json_data)
  16. else:
  17. return flask.jsonify({}), 404
  18. else:
  19. a_data = {}
  20. for i in load_skin(skin_check(1), 1):
  21. json_address = re.sub("(((?!\.|\/).)+)\.html$", "info.json", './views/' + i + '/index.html')
  22. try:
  23. json_data = json.loads(open(json_address).read())
  24. except:
  25. json_data = None
  26. if json_data:
  27. if i == skin_check(1):
  28. json_data = {**json_data, **{ "main" : "true" }}
  29. if "info_link" in json_data:
  30. get_data = urllib.request.urlopen(json_data["info_link"])
  31. if get_data and get_data.getcode() == 200:
  32. try:
  33. get_data = json.loads(get_data.read().decode())
  34. if "skin_ver" in get_data:
  35. json_data = {**json_data, **{ "lastest_version" : {
  36. "skin_ver" : json_data["skin_ver"]
  37. }}}
  38. except:
  39. pass
  40. a_data = {**a_data, **{ i : json_data }}
  41. if a_data == {}:
  42. return flask.jsonify({})
  43. else:
  44. return flask.jsonify(a_data)