feishu_form.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # -*- coding: utf-8 -*-
  2. import json
  3. import os
  4. import sys
  5. from loguru import logger
  6. from utils.feishu_utils import Feishu
  7. sys.path.append(os.getcwd())
  8. class Material():
  9. """
  10. 获取品类对应负责人任务明细
  11. """
  12. @classmethod
  13. def get_carry_data(cls, dt, FS_SHEET,NAME):
  14. data = Feishu.get_values_batch( "Wj0TsRKc0hZrHQtmtg4cZZIwn0c", FS_SHEET )
  15. processed_list = []
  16. try:
  17. for row in data[2:]:
  18. activate_data = row[4] # 启动日期
  19. if not activate_data:
  20. continue
  21. if int(activate_data) != int(dt):
  22. continue
  23. channel_mark = row[0]
  24. pq_ids = row[2]
  25. pq_label = row[3] # 站内标签
  26. video_url = row[5]
  27. title_category = row[6] #标题类别
  28. tag_transport_channel = row[7] # 搬运平台
  29. tag_transport_scene = row[8] # 搬运场景
  30. tag_transport_keyword = row[9] # 关键词
  31. tag = row[10] # 标签
  32. transform_rule = row[11] # 改造规则
  33. video_share = row[12] # 片中分享
  34. trailer_share = row[13] # 片尾分享
  35. trailer_share_video = row[14] # 片尾手动视频
  36. trailer_share_audio = row[15] # 片尾分享声音
  37. trailer_share_bgm = row[16] # 片尾分享bgm
  38. video_clipping = row[17] # 剪裁
  39. video_clipping_time = row[18] # 秒数剪裁
  40. title_transform = row[19] # 标题改造
  41. number_dict = {
  42. "channel_mark": channel_mark,
  43. "name":NAME,
  44. "pq_ids": pq_ids,
  45. "pq_label": pq_label,
  46. "activate_data": activate_data,
  47. "video_url": video_url,
  48. "title_category": title_category,
  49. "tag_transport_channel": tag_transport_channel,
  50. "tag_transport_scene": tag_transport_scene,
  51. "tag_transport_keyword": tag_transport_keyword,
  52. "tag": tag,
  53. "transform_rule": transform_rule,
  54. "video_share": video_share,
  55. "trailer_share": str(trailer_share),
  56. "trailer_share_video": trailer_share_video,
  57. "trailer_share_audio": trailer_share_audio,
  58. "video_clipping": video_clipping,
  59. "video_clipping_time": video_clipping_time,
  60. "title_transform": title_transform,
  61. "trailer_share_bgm": str(trailer_share_bgm),
  62. "dt":dt
  63. }
  64. processed_list.append(json.dumps(number_dict, ensure_ascii=False))
  65. return processed_list
  66. except:
  67. return processed_list
  68. @classmethod
  69. def get_propmt_data(cls, trailer_share):
  70. try:
  71. if "AI片尾引导" not in trailer_share:
  72. trailer_share = "AI片尾引导"
  73. data = Feishu.get_values_batch( "Wj0TsRKc0hZrHQtmtg4cZZIwn0c", "Yxg7EK" )
  74. for row in data[1:]:
  75. name = row[0]
  76. if trailer_share == name:
  77. return row[1]
  78. return
  79. except:
  80. return None
  81. @classmethod
  82. def get_propmt_data_new(cls, trailer_share):
  83. try:
  84. data = Feishu.get_values_batch( "Wj0TsRKc0hZrHQtmtg4cZZIwn0c", "Yxg7EK")
  85. for row in data[1:]:
  86. name = row[0]
  87. if name == trailer_share:
  88. return row[1]
  89. return
  90. except Exception as e:
  91. logger.error(f"[!] 获取prompt失败 {e}")
  92. return None
  93. if __name__ == '__main__':
  94. prompt = Material.get_propmt_data_new("引导语增强")
  95. print(prompt)