Browse Source

增加日志

zhangyong 5 months ago
parent
commit
b81315c3bd
2 changed files with 81 additions and 44 deletions
  1. 81 42
      carry_video/carry_video.py
  2. 0 2
      common/aliyun_log.py

+ 81 - 42
carry_video/carry_video.py

@@ -11,7 +11,7 @@ from loguru import logger
 import requests
 from lxml.html.diff import tag_token
 
-from common import Oss, Feishu
+from common import Oss, Feishu, AliyunLogger
 from common.download_video import DownLoad
 from common.ffmpeg import FFmpeg
 from common.gpt4o_help import GPT4o
@@ -103,6 +103,8 @@ class CarryViode:
             return None, None
 
     def main(self, data, REDIS_NAME, file_path):
+        AliyunLogger.logging(data["name"],"效率工具", data["tag_transport_channel"], data["video_url"], "扫描到一条视频", "2001", str(data))
+        AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],  "符合规则等待改造", "2004", str(data))
         url = data['video_url']
         if "&vid=" not in url and data['tag_transport_channel'] != "抖音":
             msg = html.unescape(url).split('?')[0]
@@ -117,10 +119,15 @@ class CarryViode:
             url, original_title = self.get_text_ks_video(url=url)
         else:
             logger.error(f"[+] {url}该链接不是抖/快 不做处理")
+            AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                 "不是抖/快不做处理", "1001", str(data))
+
             return
         if not url:
             in_carry_video_data(REDIS_NAME, data)
             logger.info(f"[+] {url}没有获取到视频链接,等待重新处理")
+            AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                 "没有获取到视频链接,等待重新处理", "1002", str(data))
             return
         if data["title_category"] == "AI标题" or data["trailer_share"] == "AI标题":
             title = GPT4o.get_ai_title(original_title if data["title_category"] == "原标题" else data["title_category"])
@@ -130,6 +137,8 @@ class CarryViode:
         video_path = Oss.download_video_oss(url, file_path)
         if not video_path:
             logger.error(f"[+] {url}下载失败")
+            AliyunLogger.logging(data["name"],"效率工具", data["tag_transport_channel"], data["video_url"],
+                                 "视频下载失败", "3002", str(data))
             print("飞书通知")
             return
         if data["transform_rule"] == '否':
@@ -138,6 +147,9 @@ class CarryViode:
             status = oss_object_key.get("status")
             if status != 200:
                 logger.error(f"[+] {REDIS_NAME}的{data}数据发送oss失败")
+                AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                     "改造失败,发送oss失败", "3001", str(data))
+                return
             logger.info(f"[+] {REDIS_NAME}的{data}数据发送oss成功")
             oss_object_key = oss_object_key.get("oss_object_key")
 
@@ -164,38 +176,55 @@ class CarryViode:
                 pw_url = TTS.get_pw_zm(pw_srt_text, voice)
                 if not pw_url:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据片尾获取失败")
+                    AliyunLogger.logging(data["name"],"效率工具", data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,片尾获取失败", "3001", str(data))
                     return
                 logger.info(f"[+] {REDIS_NAME}的{data}数据片尾获取成功")
                 pw_srt = TTS.getSrt(pw_url)
                 pw_mp3_path = TTS.download_mp3(pw_url, file_path)
                 if not pw_mp3_path or not pw_mp3_path:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据片尾音频下载失败")
+                    AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,片尾音频下载失败", "3001", str(data))
                     return
                 logger.info(f"[+] {REDIS_NAME}的{data}数据片尾音频下载成功")
                 jpg_path = FFmpeg.video_png(video_path, file_path)  # 生成视频最后一帧jpg
                 if not os.path.isfile(jpg_path) or not jpg_path:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据片尾获取最后一帧失败")
+                    AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,获取最后一帧失败", "3001", str(data))
                     return
                 logger.info(f"[+] {REDIS_NAME}的{data}数据片尾获取最后一帧成功")
                 pw_path = FFmpeg.pw_video(jpg_path, file_path, pw_mp3_path, pw_srt)  # 生成片尾视频
                 if not os.path.isfile(pw_path) or not pw_path:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据片尾拼接失败")
+                    AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,片尾拼接失败", "3001", str(data))
                     return
                 pw_video_list = [video_path, pw_path]
                 video_path = FFmpeg.concatenate_videos(pw_video_list, video_path)  # 视频与片尾拼接到一起
                 if not os.path.isfile(video_path) or not video_path:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据合并拼接失败")
+                    AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,合并拼接失败", "3001", str(data))
+                    return
                 logger.info(f"[+] {REDIS_NAME}的{data}数据合并拼接成功")
             if data["video_share"]:
                 video_path = FFmpeg.single_video(video_path, file_path, data["video_share"])
                 if not os.path.isfile(video_path) or not video_path:
                     logger.error(f"[+] {REDIS_NAME}的{data}数据添加片中字幕失败")
+                    AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                         "改造失败,添加片中字幕失败", "3001", str(data))
+                    return
                 logger.info(f"[+] {REDIS_NAME}的{data}数据添加片中字幕成功")
             logger.info(f"[+] {REDIS_NAME}的{data}数据开始发送oss")
             oss_object_key = Oss.stitching_sync_upload_oss(video_path, str(uuid.uuid4()))  # 视频发送OSS
             status = oss_object_key.get("status")
             if status != 200:
                 logger.error(f"[+] {REDIS_NAME}的{data}数据发送oss失败")
+                AliyunLogger.logging(data["name"],"效率工具", data["tag_transport_channel"], data["video_url"],
+                                     "改造失败,发送oss失败", "3001", str(data))
+                return
             logger.info(f"[+] {REDIS_NAME}的{data}数据发送oss成功")
             oss_object_key = oss_object_key.get("oss_object_key")
         logger.info(f"[+] {REDIS_NAME}的{data}开始写入票圈")
@@ -204,11 +233,15 @@ class CarryViode:
             n_id_list = n_ids.split(',')
         else:
             n_id_list = [n_ids]
+        pq_list = []
         for n_id in n_id_list:
             code = PQ.insert_piaoquantv(oss_object_key, title, n_id)
             if not code:
                 logger.error(f"[+] {REDIS_NAME}的{data}写入票圈后台失败")
+                AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                                     "改造失败,写入票圈后台失败", "3001", str(data))
                 continue
+            pq_list.append(code)
             logger.info(f"[+] {REDIS_NAME}的{data}写入票圈成功,返回视频id{code}")
             if data["transform_rule"] == '否':
                 tag_s = "搬运"
@@ -226,49 +259,55 @@ class CarryViode:
             tag_status = Tag.video_tag(code, str(tags))
             if tag_status == 0:
                 logger.info(f"[+] {REDIS_NAME}的{data}写入标签成功,后台视频ID为{code}")
-            current_time = datetime.now()
-            formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
-            values = [
-                [
-                    str(code),
-                    str(n_id),
-                    formatted_time,
-                    data["channel_mark"],
-                    data["name"],
-                    data["pq_ids"],
-                    data["pq_label"],
-                    data["activate_data"],
-                    data["video_url"],
-                    data["title_category"],
-                    data["tag_transport_channel"],
-                    data["tag_transport_scene"],
-                    data["tag_transport_keyword"],
-                    data["tag"],
-                    data["transform_rule"],
-                    data["video_share"],
-                    data["trailer_share"],
-                    data["trailer_share_audio"],
-                    data["video_clipping"],
-                    data["video_clipping_time"],
-                    data["title_transform"],
+            try:
+                current_time = datetime.now()
+                formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
+                values = [
+                    [
+                        str(code),
+                        str(n_id),
+                        formatted_time,
+                        data["channel_mark"],
+                        data["name"],
+                        data["pq_ids"],
+                        data["pq_label"],
+                        data["activate_data"],
+                        data["video_url"],
+                        data["title_category"],
+                        data["tag_transport_channel"],
+                        data["tag_transport_scene"],
+                        data["tag_transport_keyword"],
+                        data["tag"],
+                        data["transform_rule"],
+                        data["video_share"],
+                        data["trailer_share"],
+                        data["trailer_share_audio"],
+                        data["video_clipping"],
+                        data["video_clipping_time"],
+                        data["title_transform"],
 
+                    ]
                 ]
-            ]
-            name_to_sheet = {
-                "范军": "276ffc",
-                "鲁涛": "QqrKRY",
-                "余海涛": "dTzUlI",
-                "罗情": "8JPv9g",
-                "刘诗雨": "HqwG0o",
-                "张峰": "vtWvle",
-                "周仙琴": "MWUqWt"
-            }
-            name = re.sub(r"\s+", "", data.get("name", ""))
-            sheet = name_to_sheet.get(name)
-            Feishu.insert_columns("R4dLsce8Jhz9oCtDMr9ccpFHnbI", sheet, "ROWS", 1, 2)
-            time.sleep(0.5)
-            Feishu.update_values("R4dLsce8Jhz9oCtDMr9ccpFHnbI", sheet, "A2:Z2", values)
-            logger.info(f"[+] {REDIS_NAME}的{data}写入飞书成功")
+                name_to_sheet = {
+                    "范军": "276ffc",
+                    "鲁涛": "QqrKRY",
+                    "余海涛": "dTzUlI",
+                    "罗情": "8JPv9g",
+                    "刘诗雨": "HqwG0o",
+                    "张峰": "vtWvle",
+                    "周仙琴": "MWUqWt"
+                }
+                name = re.sub(r"\s+", "", data.get("name", ""))
+                sheet = name_to_sheet.get(name)
+                Feishu.insert_columns("R4dLsce8Jhz9oCtDMr9ccpFHnbI", sheet, "ROWS", 1, 2)
+                time.sleep(0.5)
+                Feishu.update_values("R4dLsce8Jhz9oCtDMr9ccpFHnbI", sheet, "A2:Z2", values)
+                logger.info(f"[+] {REDIS_NAME}的{data}写入飞书成功")
+            except Exception as e:
+                logger.error(f"[+] {REDIS_NAME}的{data}写入飞书失败{e}")
+                pass
+        AliyunLogger.logging(data["name"], "效率工具",data["tag_transport_channel"], data["video_url"],
+                             "改造成功", "1000", str(data),str(pq_list))
 
 
 

+ 0 - 2
common/aliyun_log.py

@@ -45,8 +45,6 @@ class AliyunLogger:
         logstore = "rewriting-log"
         endpoint = "cn-hangzhou.log.aliyuncs.com"
         try:
-            if data:
-                data = dict(item.split(":", 1) for item in data.split(",,"))
             contents = [
                 ("principal", principal),
                 ("channel", channel),