Browse Source

整理文件

NandHyf 1 year ago
parent
commit
7b07cb61a1
3 changed files with 4 additions and 272 deletions
  1. 1 1
      Stateful.py
  2. 3 233
      WithSqlite.py
  3. 0 38
      t.py

+ 1 - 1
Stateful.py

@@ -2,7 +2,7 @@ import Alt
 import tomlkit, sqlite3
 
 
-# ----- Record_Main(DB record as obj) -----
+# ----- Record_main(DB record as obj) -----
 class RM():
     def __init__(self, type:str, name:str, dscrp:str, creator:str, relatedBoard:str, relatedClass:str, status:int) -> None:
         self.id = "null"

+ 3 - 233
WithSqlite.py

@@ -1,233 +1,3 @@
-import sqlite3
-
-
-# [todo 0]
-# 1. 检查commands[5]是否为dbPath, 不是话报错(syntax error)
-# ↑↑↑ 但是总感觉输入检查应该放在Controller里面(也就是放在前端去检查)...
-# 前端检查语法, 冲突代回到后端去检查, 然后顺便就执行了
-# 2. 命令里面的<KB>, <CL>, <EV>都代入检查是否存在, 区分add/edit(INSERT INTO/UPDATE)
-# 3. 匹配SQL关键字
-# 4. 拼完以后进行to和in的判断
-# 5. 按正确的顺序拼SQL语句
-# 6. 执行
-dbPath = "dev.db"
-
-
-def Exec_one(dbPath, commands):
-    con = sqlite3.connect(dbPath)
-    cur = con.cursor()
-
-    cur.execute(commands)
-    con.commit()
-    re = cur.fetchall()
-    con.close()
-
-    return re
-
-
-# [todo 4]
-def Exec_many():
-    pass
-        
-
-def IsExist(exec_commands, returnBool=True):
-    tableName = str(exec_commands[1]).capitalize()
-
-    ItemName = str(exec_commands[2])
-
-    sqls = "SELECT name FROM {table} WHERE name='{name}'".format(table=tableName, name=ItemName)
-    ie = Exec_one(dbPath, sqls)
-
-    if ie != [] and returnBool == False:
-        return ie
-    
-    elif ie != [] and returnBool == True:
-        return True
-
-    elif ie == []:
-        return False
-    
-    else:
-        # Alt.Err(errCode)
-        print("err <Code>: unexpected error in existence check")
-
-
-# [todo 4]
-def Secondary_response():
-    pass
-
-
-class objBoard():
-    def __init__(self, dbPath, previousPath, currentPath, boardName, newBoardName) -> None:
-        self.dp = dbPath
-        self.pp = previousPath
-        self.cp = currentPath
-
-        self.name = boardName
-        self.newName = newBoardName
-
-
-    def select_board(self, aliveOnly=True):# 不太对劲, 应该在IsExist的时候就已经可以得到结果了
-        if aliveOnly == True:
-            sqls = "SELECT name FROM Board WHERE name='{name}' AND status='alive';".format(name=self.name)
-        elif aliveOnly == False:
-            sqls = "SELECT name FROM Board WHERE name='{name}';".format(name=self.name)
-
-        reserve = Exec_one(self.dp, sqls)
-        # [todo 4]
-        # return sqls
-
-
-    def add_board(self):
-        sqls = "INSERT INTO Board VALUES(null, '{name}', 'alive');".format(name=self.name)
-        Exec_one(self.dp, sqls)
-        
-
-    def delete_board(self):
-        sqls = "UPDATE Board SET status='deleted' WHERE name='{name}';".format(name=self.name)
-        Exec_one(self.dp, sqls)
-        
-
-    def edit_board():
-        # 修改了Board之后关联的分类和事件也要变, 而且要先修改关系最后变board名称
-        # 1. 查找CL和EV里面和这个KB的关联
-        # 2. 修改关联的KB-name
-        # 3. 修改KB的name
-        sqls = ""
-        
-
-    def move_board():
-        print("err <Code>: syntax error")
-
-
-class objClass():
-    def __init__(self, dbPath, previousPath, currentPath, className, newClName="") -> None:
-        self.dp = dbPath
-        self.pp = previousPath
-        self.cp = currentPath
-
-        self.name = className
-        self.newName = newClName
-
-
-    def select_class(self, aliveOnly=True):# 不太对劲, 应该在IsExist的时候就已经可以得到结果了
-        if aliveOnly == True:
-            sqls = "SELECT name FROM Class WHERE name='{name}' AND status='alive';".format(name=self.name)
-        elif aliveOnly == False:
-            sqls = "SELECT name FROM Class WHERE name='{name}';".format(name=self.name)
-
-        reserve = Exec_one(self.dp, sqls)
-       
-
-    def add_class(self):
-        sqls = "INSERT INTO Class VALUES(null, '{name}', 'alive');".format(name=self.name)
-        Exec_one(self.dp, sqls)
-        
-
-    def delete_class(self):
-        sqls = "UPDATE Class SET status='deleted' WHERE name='{name}';".format(name=self.name)
-        Exec_one(self.dp, sqls)
-        # [todo 3] 关联的EV和KB待处理
-        
-
-    def edit_class(self):
-        sqls = "UPDATE Class SET name={newName} WHERE name='{name}';".format(newName=self.newName, name=self.name)
-        Exec_one(self.dp, sqls)
-
-
-    def move_class(self):
-        # Why would someone want to do that?
-        # cp[todo 4] or del ONLY: def copy_class():
-        print("err <Code>: syntax error")
-
-
-
-class objEvent():
-    def __init__(self, dbPath, previousPath, currentPath, eventName, newEventName, dscrp, newDscrp, classCreated, classCurrent) -> None:
-        self.dp = dbPath
-        self.pp = previousPath
-        self.cp = currentPath
-
-        self.name = eventName
-        self.newName = newEventName
-        self.dscrp = dscrp
-        self.nd = newDscrp
-        self.ccr = classCreated
-        self.ccu = classCurrent
-        
-    def select_event(self):
-        sqls = "SELECT * FROM Event WHERE name='{name}';".format(name=self.name)
-        reserve = Exec_one(self.dp, sqls)
-
-
-    def add_event(self):
-        sqls = "INSERT INTO Event VALUES(null, '{name}', '{dscrp}', '{creator}', datetime('now'), '{classCreated}', '{classCurrent}', 'alive');"
-        Exec_one(self.dp, sqls)
-
-
-    def delete_event(self):
-        sqls = "UPDATE Event SET status='deleted' WHERE name='{name}';".format(name=self.name)
-        Exec_one(self.dp, sqls)
-
-
-    def edit_event(self, target):
-        # newName
-        if target == "newName":
-            sqls = "UPDATE Event SET name='{newName}' WHERE name='{name}';".format(newName=self.newName, name=self.name)
-            # [todo 4] 更改之后自动跳转?
-
-        # newDscrp && appendDscrp
-        elif target == "newDscrp":
-            sqls = "UPDATE Event SET dscrp='{newDscrp}' WHERE name='{name}';".format(newDscrp=self.nd, name=self.name)
-            
-        elif target == "appendDscrp":
-            sqls = "SELECT dscrp FROM Event WHERE name='{name}'".format(name=self.name)
-            reserve = Exec_one(self.dp, sqls)
-            # some prosess
-            sqls = reserve + ""
-
-        Exec_one(self.dp, sqls)
-
-
-
-    def move_event(self):
-        sqls = "UPDATE Event SET classCurrent='{classCurrent}' WHERE name='{name}';".format(classCurrent=self.ccu, name=self.name)
-        Exec_one(self.dp, sqls)
-
-
-# [todo 3]
-def bp():
-    pass
-
-
-def home(): # IE就能解决了好像
-    sqls = "SELECT name FROM sqlite_master WHERE type='table' AND name is NOT 'sqlite_sequence';"
-    Exec_one(dbPath, sqls)
-
-# Regular Start
-def Regular(dbPath, exec_commands):
-    
-    # try:
-        ie = IsExist(exec_commands)
-        print("is exist: ", ie)
-        tableName = str(exec_commands[1]).capitalize()
-        # to的情况待处理
-        itemName = str(exec_commands[2])
-        exec_flag = False
-
-        if ie == True:
-            pass
-
-        elif ie == False:
-            pass
-
-        elif exec_flag == True:
-            pass
-            # 有个数据库锁定的异常待处理(Multi-user)
-            # Exec_one(dbPath, sqls)
-
-if __name__ == "__main__":
-
-    while(1):
-        sy_i = input("sql: ").split(" ")
-        Regular(dbPath, sy_i)
+import Alt
+import Stateful
+import WithToml

+ 0 - 38
t.py

@@ -1,38 +0,0 @@
-import Stateful
-
-
-def MatchTomlTable(tomlName, tableName, returnType="list"):
-    d = Stateful.GetTomlDoc(tomlName).unwrap()
-
-    if returnType == "list":
-        return list(d.get(tableName).values())
-    
-    elif returnType == "dict":
-        return d
-
-# [todo 4] rebuild
-def add(cp, addType, contents):
-    if addType == "board":
-        sqls = "INSERT INTO Board VALUES(null, '{name}', 'alive');".format(name=self.name)
-        
-    
-    elif addType == "class":
-        sqls = "INSERT INTO Class VALUES(null, '{name}', )"
-
-    elif addType == "event":
-        pass
-
-
-    sqls = ""
-
-
-    Stateful.Exec_one(dp, sqls)
-
-
-if __name__ == "__main__":
-    tomlName = "dev_config.toml"
-    dp = "dev.db"
-    # res = MatchTomlTable(tomlName, "Board")
-    contents = []
-    cp = ""
-    res = add(cp, "class", )