Stateful.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # @author:hyf
  2. import base64, datetime
  3. import tomlkit, sqlite3
  4. # kw == 'k'ey 'w'ord; dt_now = date&&time in UTC
  5. def generate_uid(kw):
  6. dt_now = str(datetime.datetime.now(datetime.timezone.utc))
  7. genText = str.encode(kw + "_" + dt_now)
  8. uid = base64.b64encode(genText)
  9. return(uid)
  10. # ----- Methods binding command to model -----
  11. # Toml
  12. def getTomlDoc(tomlName):
  13. try:
  14. with open(tomlName, "rb") as t:
  15. doc = tomlkit.load(t)
  16. if doc == {}:
  17. input("Error 0: Could not find correct 'config.toml'")
  18. exit()
  19. return doc
  20. except:
  21. input("Error 0: Could not find correct 'config.toml'")
  22. exit()
  23. def matchTomlKey(tomlName, key, table=None) -> str:
  24. doc = getTomlDoc(tomlName)
  25. if table == None:
  26. return str(doc.item(key))
  27. elif table != None:
  28. d = doc.unwrap()
  29. return str(d[table][key])
  30. def matchTomlKeys(tomlName, keys, table=None) -> list:
  31. doc = getTomlDoc(tomlName)
  32. if table == None:
  33. # rl == 'r'eturn 'l'ist
  34. rl = []
  35. for key in keys:
  36. rl.append(doc.item(key))
  37. return rl
  38. elif table != None:
  39. rl = []
  40. d = doc.unwrap()
  41. for key in keys:
  42. rl.append(d[table][key])
  43. return rl
  44. # Sqlite3
  45. def connect_sqlite3(dbPath):
  46. con = sqlite3.connect(dbPath)
  47. cur = con.cursor()
  48. cur.close()
  49. def closeConnect():
  50. pass
  51. def list_SELECT():
  52. pass
  53. def add_CREATE():
  54. pass
  55. def add_INSERT_INTO():
  56. pass
  57. def edit_UPDATE():
  58. pass
  59. def delete_DELELTE():
  60. pass
  61. def delete_DROP():
  62. pass
  63. # Markdown
  64. # csv
  65. # MongoDB