Ver Fonte

删掉了Controller 和 VM 的模式
拆分了部分方法
尝试使用装饰器

NandHyf há 11 meses atrás
pai
commit
6f3c6c2780
4 ficheiros alterados com 64 adições e 66 exclusões
  1. 0 40
      Stateful.py
  2. 35 20
      kbc.py
  3. 9 0
      kbc_llm.py
  4. 20 6
      kbc_sqlite.py

+ 0 - 40
Stateful.py

@@ -1,40 +0,0 @@
-# from Controller import kbc_config
-import kbc_alt
-import kbc_toml
-import kbc_sqlite
-
-
-# ------ Basics ------
-def get_app_config(returnDict:bool=True):
-        tomls = kbc_toml.MatchTomlTable("dev.toml", "app_config", "dict")
-        global app_config
-        app_config = tomls["app_config"]
-
-        if returnDict == True:
-            return app_config
-
-
-# ----- Core Function -----
-def Translator():
-    global oc
-    oc = {
-    "dt":str, # DBType
-    "dp":str, # DBPath
-
-    "cp":list, # CurrentPath
-    "pp":list, # PreviousPath
-
-    "next_move":str,
-
-    "tp":list, # TargetPath
-    "tp_in":list, # ~ after command parameter "in"(&& before command parameter "to")
-    "tp_to":list, # ~ after command parameter "to"
-    "tp_attr":str # ~ like "-name" in "edit -name oldName to newName"
-    }
-    # some thoughts:
-    # class oc():
-    #   def get_oc(), def move_oc()
-
-
-if __name__ == "__main__":
-    pass

+ 35 - 20
Controller.py → kbc.py

@@ -1,9 +1,40 @@
 import kbc_alt 
-import Stateful
+import kbc_toml
+import kbc_sqlite
+import kbc_llm
+
 import datetime
 
 
+oc = {
+"dt":str, # DBType
+"dp":str, # DBPath
+
+"cp":list, # CurrentPath
+"pp":list, # PreviousPath
+
+"next_move":str,
+
+"tp":list, # TargetPath
+"tp_in":list, # ~ after command parameter "in"(&& before command parameter "to")
+"tp_to":list, # ~ after command parameter "to"
+"tp_attr":str # ~ like "-name" in "edit -name oldName to newName"
+}
+# some thoughts:
+# class oc():
+#   def get_oc(), def move_oc()
+
+
 class kbc_controller():
+    def get_app_config(returnDict:bool=True):
+        tomls = kbc_toml.MatchTomlTable("dev.toml", "app_config", "dict")
+        global app_config
+        app_config = tomls["app_config"]
+
+        if returnDict == True:
+            return app_config
+        
+
     def get_help():
         pass
     
@@ -12,18 +43,18 @@ class kbc_controller():
 
 
     # [todo 3]
-    def InUTC(timeZone:int=0):
+    def inUTC(timeZone:int=0):
         dt_now_UTC0 = str(datetime.datetime.now(datetime.timezone.utc))
         return(dt_now_UTC0)
     
 
     # [todo 2]
     # 前端只检查输入数量正确, 内容正确统一代回后端检查
-    def InputHandler():
+    def inputHandler():
         pass
 
 
-    def TransitCommand():
+    def transitCommand():
         # do while or for (1)
         while(1):
             app_commands = input(currentPath + "/: ", ).split(" ")
@@ -32,13 +63,6 @@ class kbc_controller():
             # [todo 1]
             # Controller.InputCheck(app_commands)
 
-
-    # [todo 4]
-    def GenDB():# Stateful里面还有一个一样的方法
-        pass
-        # 1. 先检查是否已经存在DB? y/n?
-        # 2. 连接性检查(是否要切换到新建的DB)y/n?
-
     
     def makeLog():
         pass
@@ -54,14 +78,5 @@ class kbc_controller():
         # kbc_controller.TransitCommand()
 
 
-# For ChatGLM3-6B
-class LLM():
-    def call():
-        pass
-
-    def respond():
-        pass
-
-
 if __name__ == "__main__":
     kbc_controller.start()   

+ 9 - 0
kbc_llm.py

@@ -0,0 +1,9 @@
+class LLM():
+    def __init__(self) -> None:
+        pass
+
+    def call():
+        pass
+
+    def respond():
+        pass

+ 20 - 6
kbc_sqlite.py

@@ -2,6 +2,12 @@ import sqlite3
 
 
 # ----- Sqlite Methods -----
+def exec(dbPath):
+    def dec():
+        pass
+
+
+@exec("dev.db")
 def exec_one(dbPath:str, commands:list, fetchall:bool=False):
     con = sqlite3.connect(dbPath)
     cur = con.cursor()
@@ -19,8 +25,12 @@ def exec_one(dbPath:str, commands:list, fetchall:bool=False):
 
     return 0
 
+@exec()
+def exec_many():
+    pass
+
 
-def isExist(dbPath:str, tableName:str, capitalize:bool=False, itemName:str="", returnBool:bool=True):
+def recordExist(dbPath:str, tableName:str, capitalize:bool=False, itemName:str="", returnBool:bool=True):
     # [todo 4] 这里面.capitalize()后面需要根据config.toml里面的内容判断
     # 可能也不用, 因为KBCLEV的表名和本身并无关系
     if capitalize == True:
@@ -99,9 +109,13 @@ class RLA():
 
 
 # ----- Auto generate DB from config.toml -----
-def genDB():
-    # model IE?
-    # over write?
-    # exec
-    pass
+class DB():
+    def __init__(self) -> None:
+        pass
+
+    def dbExist():
+        pass
 
+
+    def reGenerate():
+        pass