123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import json
- import re
- import time
- from datetime import datetime
- from loguru import logger
- from common.feishu_utils import Feishu
- from common.piaoquan import PQ
- from common.redis import in_carry_video_data
- from common.tag_video import Tag
- class PqViode:
- def main(self, data, REDIS_NAME):
- video_id = data['video_id']
- title = data['title']
- if not video_id:
- return
- logger.info(f"[+] {REDIS_NAME}的{video_id}开始获取视频地址")
- video_path, cover_path, old_title = PQ.get_pq_oss(video_id)
- if not title:
- title = old_title
- if not video_path:
- in_carry_video_data(REDIS_NAME, json.dumps(data, ensure_ascii=False, indent=4))
- logger.error(f"[+] {REDIS_NAME}的{video_id}没有获取到视频地址,等待重新处理")
- return
- n_ids = str(data["pq_ids"])
- if ',' in n_ids:
- n_id_list = n_ids.split(',')
- else:
- n_id_list = [n_ids]
- pq_list = []
- for n_id in n_id_list:
- code = PQ.install_tj_pq(video_id, video_path, title, n_id, cover_path)
- if not code:
- logger.error(f"[+] {REDIS_NAME}的{data}写入票圈后台失败")
- text = (
- f"**负责人**: {data['name']}\n"
- f"**内容**: {data}\n"
- f"**失败信息**: 视频写入票圈后台失败,视频ID{code}\n"
- )
- Feishu.finish_bot(text,
- "https://open.feishu.cn/open-apis/bot/v2/hook/65bc5463-dee9-46d0-bc2d-ec6c49a8f3cd",
- "【 老内容重发通知 】")
- continue
- pq_list.append(code)
- logger.info(f"[+] {REDIS_NAME}的{data}写入票圈成功,返回视频id{code}")
- tags = ','.join(filter(None, [
- data['pq_label'],
- "站内重发"
- ]))
- tag_status = Tag.video_tag(code, str(tags))
- if tag_status == 0:
- logger.info(f"[+] {REDIS_NAME}的{data}写入标签成功,后台视频ID为{code}")
- try:
- current_time = datetime.now()
- formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
- pq_url = f'https://admin.piaoquantv.com/cms/post-detail/{code}/detail' # 站内视频链接
- values = [
- [
- str(code),
- str(n_id),
- formatted_time,
- "站内重发",
- # data["name"],
- # data["pq_ids"],
- data["pq_label"],
- # data["activate_data"],
- data["video_id"],
- data["title"],
- data["dt"],
- pq_url
- ]
- ]
- name_to_sheet = {
- "范军": "bbf2a9",
- "鲁涛": "UpArtI",
- "余海涛": "wh13NV",
- "罗情": "8hhW6y",
- "刘诗雨": "OVfeDx",
- "周仙琴": "3zQn2q",
- "王雪珂": "qR49hQ",
- "信欣": "G3i38u",
- "王媛": "XuwyeI",
- "王知微": "S1RXJb",
- "刘兆恒": "1goT0N",
- "张博": "dPVhKa",
- "林子涵": "w9vu9f"
- }
- name = re.sub(r"\s+", "", data.get("name", ""))
- sheet = name_to_sheet.get(name)
- Feishu.insert_columns("RyXxsjECmhmCFGt0x0mci1iBnmg", sheet, "ROWS", 1, 2)
- time.sleep(0.5)
- Feishu.update_values("RyXxsjECmhmCFGt0x0mci1iBnmg", sheet, "A2:Z2", values)
- logger.info(f"[+] {REDIS_NAME}的{data}写入飞书成功")
- except Exception as e:
- logger.error(f"[+] {REDIS_NAME}的{data}写入飞书失败{e}")
- pass
- return
|