123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- """
- @author: luojunhui
- """
- from applications.upload import download_and_upload, auto_upload_aigc
- from applications.functions import hash_title
- class PublishDeal(object):
- """
- 自动发布接口处理
- """
- def __init__(self, params):
- self.process_list = []
- self.taskName = None
- self.params = params
- def check_params(self):
- """
- check params
- """
- try:
- self.taskName = self.params['task_list']
- obj_list = self.params['article_list']
- self.process_list = [
- {
- "title": obj['title'],
- "text": obj['text'],
- "img_list": obj['img_list'],
- "video_id": obj['video_id'],
- "cover": obj['cover']
- } for obj in obj_list
- ]
- return None
- except Exception as e:
- res = {
- "error": "params error",
- "info": "check your param: {}".format(e)
- }
- return res
- def deal(self):
- """
- 处理请求
- """
- params_error = self.check_params()
- if params_error:
- return params_error
- else:
- L = []
- for article_obj in self.process_list:
- # hash title
- h_title = hash_title(article_obj['title'])
- # process imgList
- img_list = []
- for index, url in enumerate(article_obj['img_list'], 1):
- save_path = "temp/{}-{}.png".format(h_title, index)
- img_obj = download_and_upload(save_path, url)
- img_list.append(img_obj)
- # process Cover
- cover_path = "temp/cover-{}.png".format(h_title)
- cover_obj = download_and_upload(cover_path, article_obj['cover'])
- result_obj = {
- "title": article_obj['title'] + "video_id={}".format(article_obj['video_id']),
- "text": article_obj['text'],
- "img_list": img_list,
- "cover": cover_obj
- }
- L.append(result_obj)
- res = auto_upload_aigc(task_name=self.taskName, obj_list=L)
- return res
|