12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import sqlite3
- import Stateful
- deType = "sqlite3"
- dbPath = "d<EV>.db"
- def is_exist(tableName, columnName):
- pass
- def Secondary_response():
- pass
- def Operate_sqlite3(dbPath, commands):
- # Command e.g.
- # 0 1 2 3 4 5 6
- # [add]
- # ['add', 'board', '<KB>']
- # ['add', 'class', '<CL>', 'to', '<KB>']
- # ['add', 'event', '<EV>', 'to', '<KB>', '/', '<CL>'] <- 这个应该报错
- # ['add', 'event', '<EV>', 'to', '<KB>/<CL>']
- # [edit]
- # ['edit', 'board', '<KB>', 'to', '<KB>']
- # ['edit', 'class', '<KB>', 'to', '<KB>']
- # ['edit', 'class', '<CL>', 'to', '<CL>']
- # ['edit', 'class', '<CL>', 'to', '<CL>']
- # ['edit', 'event', '<EV>', 'to', '<EV>']
- # ['edit', 'event', '<EV>', 'in', '<KB>', '/', '<CL>'] <- 这个应该报错
- # ['edit', 'event', '<EV>', 'in', '<KB>/<CL>']
- # [delete]
- # ['delete', 'board', '<KB>']
- # ['delete', 'class', '<CL>']
- # ['delete', 'event', '<EV>']
- # ['delete', 'event', '<EV>', 'in', '<KB>', '/', '<CL>'] <- 这个应该报错
- # ['delete', 'event', '<EV>', 'in', '<KB>/<CL>']
- # [move]
- # ['move', 'class', '<CL>', 'to', '<KB>']
- # ['move', 'event', '<EV>', 'to', '<KB>']
- # ['move', 'event', '<EV>', 'to', '<CL>']
- # ['move', 'event', '<EV>', 'in', '<KB>', '/', '<CL>'] <- 这个应该报错
- # ['move', 'event', '<EV>', 'in', '<KB>/<CL>']
- # [select]
- # ['select', 'board', '<KB>']
- # ['select', 'class', '<CL>']
- # ['select', 'event', '<EV>']
- # ['select', 'event', '<EV>', 'in', '<KB>', '/', '<CL>'] <- 这个应该报错
- # ['select', 'event', '<EV>', 'in', '<KB>/<CL>']
- # [..]
- # [/]
-
-
- v = "SELECT * FROM {tableName} WHERE name={name}".format(tableName=str(commands[1]).capitalize(), name="'"+commands[2]+"'")
-
- con = sqlite3.connect(dbPath)
- cur = con.cursor()
- # 1. exist check
- try:
- res = cur.execute(v)
- con.commit()
- print("res: ", res.fetchone() is None)
- # syntax right but not exist:
- if res.fetchone() is None == True:
- print("err <Code>: could not found, creat? y/n")
- # Secondary_response()
- # 2. exec command
- matched = Stateful.MatchTomlKeys('d<EV>_config.toml', commands, 'sqlite3')
- print(matched)
- except:
- print("err <Code>: Syntax error")
- con.close()
- if __name__ == "__main__":
- while(1):
- sy_i = input("sql: ").split(" ")
- Operate_sqlite3(dbPath, sy_i)
|