Ver Fonte

兼容问题

rambo há 3 meses atrás
pai
commit
4281e29f79

+ 22 - 16
python/custom_plugins/plugins/detail_template/hongqingting/detail_hongqingting2.py

@@ -244,27 +244,33 @@ class DetailPicGet(DetailBase):
         return bg_img
     def deal_pic_6(self):
         if self.get_text_value("模特图"):
-            hh_img = PictureProcessing(r"{}\6.jpg".format(self.root))
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=896)
-            bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height+90), (252,238,225))
-            bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
-            return bg_img
+            try:
+                hh_img = PictureProcessing(r"{}\6.jpg".format(self.root))
+                mote_img = PictureProcessing(self.get_text_value("模特图"))
+                mote_img = mote_img.resize(value=896)
+                bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height+90), (252,238,225))
+                bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
+                bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
+                return bg_img
+            except:
+              return
         else:
             return
 
     def deal_pic_7(self):
         if self.get_text_value("场景图"):
-            hh_img = PictureProcessing(r"{}\7-1.jpg".format(self.root))
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=896)
-            ff_img = PictureProcessing(r"{}\7-2.jpg".format(self.root))
-            bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height+ff_img.height), (252,238,225))
-            bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
-            bg_img = bg_img.paste_img(top_img=ff_img,base="nc", value=(0, hh_img.height+mote_img.height))
-            return bg_img
+            try:
+                hh_img = PictureProcessing(r"{}\7-1.jpg".format(self.root))
+                mote_img = PictureProcessing(self.get_text_value("场景图"))
+                mote_img = mote_img.resize(value=896)
+                ff_img = PictureProcessing(r"{}\7-2.jpg".format(self.root))
+                bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height+ff_img.height), (252,238,225))
+                bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
+                bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
+                bg_img = bg_img.paste_img(top_img=ff_img,base="nc", value=(0, hh_img.height+mote_img.height))
+                return bg_img
+            except:
+              return
         else:
             return
     def deal_pic_8(self):

+ 20 - 14
python/custom_plugins/plugins/detail_template/hongqingting/detail_hongqingting3.py

@@ -355,25 +355,31 @@ class DetailPicGet(DetailBase):
 
     def deal_pic_6(self):
         if self.get_text_value("模特图"):
-            hh_img = PictureProcessing(r"{}\6.jpg".format(self.root))
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1400)
-            bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
-            return bg_img
+            try:
+                hh_img = PictureProcessing(r"{}\6.jpg".format(self.root))
+                mote_img = PictureProcessing(self.get_text_value("模特图"))
+                mote_img = mote_img.resize(value=1400)
+                bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height), (255,255,255))
+                bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
+                bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
+                return bg_img
+            except:
+              return
         else:
             return
 
     def deal_pic_7(self):
         if self.get_text_value("场景图"):
-            hh_img = PictureProcessing(r"{}\7.jpg".format(self.root))
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1400)
-            bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
-            return bg_img
+            try:
+                hh_img = PictureProcessing(r"{}\7.jpg".format(self.root))
+                mote_img = PictureProcessing(self.get_text_value("场景图"))
+                mote_img = mote_img.resize(value=1400)
+                bg_img = PictureProcessing("RGB", (hh_img.width, hh_img.height+mote_img.height), (255,255,255))
+                bg_img = bg_img.paste_img(top_img=hh_img,base="nc", value=(0, 0))
+                bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, hh_img.height))
+                return bg_img
+            except:
+              return
         else:
             return
 

+ 2 - 10
python/custom_plugins/plugins/detail_template/huilima/detail_huilima1.py

@@ -134,21 +134,13 @@ class DetailPicGet(DetailBase):
     #模特图
     def deal_pic_1_2(self):
         if self.get_text_value("模特图"):
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1200)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("模特图"),resize=1200)
         else:
             return
     #场景图
     def deal_pic_1_3(self):
         if self.get_text_value("场景图"):
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1200)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("场景图"),resize=1200)
         else:
             return
 

+ 2 - 15
python/custom_plugins/plugins/detail_template/huilima/detail_huilima2.py

@@ -208,26 +208,13 @@ class DetailPicGet(DetailBase):
     # 模特图
     def deal_pic_3_2(self):
         if self.get_text_value("模特图"):
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing(
-                "RGB", (mote_img.width, mote_img.height), (255, 255, 255)
-            )
-            bg_img = bg_img.paste_img(top_img=mote_img, base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("模特图"))
         else:
             return
-
     # 场景图
     def deal_pic_3_3(self):
         if self.get_text_value("场景图"):
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing(
-                "RGB", (mote_img.width, mote_img.height), (255, 255, 255)
-            )
-            bg_img = bg_img.paste_img(top_img=mote_img, base="nc", value=(0, 0))
-            return bg_img
+           return self.concatAigcImage(self.get_text_value("场景图"))
         else:
             return
 

+ 2 - 10
python/custom_plugins/plugins/detail_template/huilima/detail_huilima3.py

@@ -217,21 +217,13 @@ class DetailPicGet(DetailBase):
     # 模特图
     def deal_pic_2_2(self):
         if self.get_text_value("模特图"):
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("模特图"),resize=1600)
         else:
             return
     # 场景图
     def deal_pic_2_3(self):
         if self.get_text_value("场景图"):
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("场景图"),resize=1600)
         else:
             return
 

+ 2 - 10
python/custom_plugins/plugins/detail_template/huilima/detail_huilima4.py

@@ -227,21 +227,13 @@ class DetailPicGet(DetailBase):
     # 模特图
     def deal_pic_3_2(self):
         if self.get_text_value("模特图"):
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("模特图"),resize=1600)
         else:
             return
     # 场景图
     def deal_pic_3_3(self):
         if self.get_text_value("场景图"):
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing("RGB", (mote_img.width, mote_img.height), (255,255,255))
-            bg_img = bg_img.paste_img(top_img=mote_img,base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("场景图"),resize=1600)
         else:
             return
 

+ 2 - 14
python/custom_plugins/plugins/detail_template/huilima/detail_huilima5.py

@@ -420,26 +420,14 @@ class DetailPicGet(DetailBase):
     # 模特图
     def deal_pic_6_2(self):
         if self.get_text_value("模特图"):
-            mote_img = PictureProcessing(self.get_text_value("模特图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing(
-                "RGB", (mote_img.width, mote_img.height), (255, 255, 255)
-            )
-            bg_img = bg_img.paste_img(top_img=mote_img, base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("模特图"),resize=1600)
         else:
             return
 
     # 场景图
     def deal_pic_6_3(self):
         if self.get_text_value("场景图"):
-            mote_img = PictureProcessing(self.get_text_value("场景图"))
-            mote_img = mote_img.resize(value=1600)
-            bg_img = PictureProcessing(
-                "RGB", (mote_img.width, mote_img.height), (255, 255, 255)
-            )
-            bg_img = bg_img.paste_img(top_img=mote_img, base="nc", value=(0, 0))
-            return bg_img
+            return self.concatAigcImage(self.get_text_value("场景图"),resize=1600)
         else:
             return
 

+ 20 - 25
python/custom_plugins/plugins_mode/detail_generate_base.py

@@ -218,28 +218,34 @@ class DetailBase(object):
                                     new_path,
                                     "NUM{}".format(i["number"]),
                                 )
-        # sendMessageAsync(
-        #     code=0,
-        #     msg="详情页生成完成",
-        #     msg_type="detail_progress",
-        #     data={
-        #         "goods_no": self.goods_no,
-        #         "temp_name": self.template_name,
-        #         "status": "已完成",
-        #         "goods_art_nos": self.goods_art_nos,
-        #     },
-        # )
         scp_path = "{out_put_dir}/{goods_no}".format(
             out_put_dir=self.out_put_dir, goods_no=self.goods_no
         )
         if self.get_text_value("模特图"):
             model_pic = self.get_text_value("模特图")
-            shutil.copy(model_pic, f"{scp_path}/模特图.jpg")
+            self.copyImage(model_pic, f"{scp_path}/模特图.jpg")
         if self.get_text_value("场景图"):
             scene_pic = self.get_text_value("场景图")
-            shutil.copy(scene_pic, f"{scp_path}/场景图.jpg")
+            self.copyImage(scene_pic, f"{scp_path}/场景图.jpg")
         return True
-
+    def copyImage(self,src_path,limit_path):
+        try:
+          shutil.copy(src_path, limit_path)
+        except Exception as e:
+          print(f'An exception occurred:{e}')
+    def concatAigcImage(image_path,resize=1600,bg_color=(255,255,255)):
+        """拼接模特图场景图"""
+        try:
+                mote_img = PictureProcessing(image_path)
+                mote_img = mote_img.resize(value=resize)
+                bg_img = PictureProcessing(
+                    "RGB", (mote_img.width, mote_img.height), bg_color
+                )
+                bg_img = bg_img.paste_img(top_img=mote_img, base="nc", value=(0, 0))
+                return bg_img
+        except:
+             print('An exception occurred')
+             return
     # 移动一张图片到新的文件夹
     def move_one_pic(self, old_path, new_path, new_name):
         image_file = os.listdir(old_path)[0]
@@ -251,17 +257,6 @@ class DetailBase(object):
     # 生成各个详情图切片
     def deal_details(self):
         detailed_images = []
-        # sendMessageAsync(
-        #     code=0,
-        #     msg="正在生成详情页切片",
-        #     msg_type="detail_progress",
-        #     data={
-        #         "goods_no": self.goods_no,
-        #         "temp_name": self.template_name,
-        #         "status": "进行中",
-        #         "goods_art_nos": self.goods_art_nos,
-        #     },
-        # )
         for index, func in enumerate(self.deal_pic_func_list):
             image_pp = func()
             if not self.assigned_page_list:

+ 2 - 1
python/detail_template_test.json

@@ -64,6 +64,7 @@
         "商品标题": "舒适休闲男豆豆鞋男单鞋",
         "商品价格": "132.00",
         "性别": "男性",
-        "token": "Bearer 18323b96c68234597b1fa8d10fecb6bbe45cadc3"
+        "token": "Bearer 18323b96c68234597b1fa8d10fecb6bbe45cadc3",
+         "场景图": "output/2025-10-22/2/场景图.jpg"
     }
 }