rambo 7 mesi fa
parent
commit
5853acda67
1 ha cambiato i file con 15 aggiunte e 3 eliminazioni
  1. 15 3
      python/api.py

+ 15 - 3
python/api.py

@@ -21,6 +21,8 @@ from service.run_main import RunMain
 import importlib
 from service.auto_deal_pics.upload_pic import UploadPic
 from service.OnePicTest import OnePicTest
+import hashlib
+
 
 # from service.AutoDealPics import AutoDealPics
 # for plugin in settings.plugins:
@@ -28,6 +30,16 @@ from service.OnePicTest import OnePicTest
 #     print("module_path", module_path, class_name)
 #     module = importlib.import_module(module_path)
 #     getattr(module, class_name)
+def calculate_md5(filepath):
+    # 打开文件,以二进制只读模式打开
+    with open(filepath, "rb") as f:
+        # 创建MD5哈希对象
+        md5hash = hashlib.md5()
+        # 循环读取文件的内容并更新哈希对象
+        for chunk in iter(lambda: f.read(4096), b""):
+            md5hash.update(chunk)
+        # 返回MD5哈希的十六进制表示
+        return md5hash.hexdigest()
 
 
 @app.get("/")
@@ -619,8 +631,8 @@ def add_logo(params: LogoParams):
     logo_path_info = logo_dir + fname
     shutil.copy(logo_path, logo_path_info)  # 复制文件
     if len(logo_list)>0:
-        for item in logo_list:
-            if logo_path_info == item:
+        for itemInfo in logo_list:
+            if calculate_md5(logo_path_info) == calculate_md5(itemInfo):
                 continue
             logo_list.append(logo_path_info)
     else:
@@ -643,4 +655,4 @@ def delete_logo(params: LogoParamsupdate):
     # 走编辑逻辑
     kwargs = params.__dict__
     save_device_config = sysConfig.updateConditions(session, conditions={"key": "logo_configs"}, **kwargs)
-    return {"code": 0, "msg": "操作成功", "data": save_device_config}
+    return {"code": 0, "msg": "操作成功", "data": save_device_config}