|
@@ -0,0 +1,61 @@
|
|
|
+import time
|
|
|
+
|
|
|
+from config import set_config
|
|
|
+from utils import request_post
|
|
|
+from log import Log
|
|
|
+
|
|
|
+config_ = set_config()
|
|
|
+log_ = Log()
|
|
|
+
|
|
|
+
|
|
|
+def get_videos_from_pool(app_type, size=1000):
|
|
|
+ """
|
|
|
+ 从流量池获取视频,循环获取,直到返回数据为None结束
|
|
|
+ :param app_type: 产品标识 type-int
|
|
|
+ :param size: 每次获取视频数量,type-int,默认1000
|
|
|
+ :return: videos
|
|
|
+ """
|
|
|
+ # 获取批次标识,利用首次获取数据时间戳为标记
|
|
|
+ batch_flag = time.time()
|
|
|
+ request_data = {'appType': app_type, 'batchFlag': batch_flag, 'size': size}
|
|
|
+ videos = []
|
|
|
+ while True:
|
|
|
+ result = request_post(request_url=config_.GET_VIDEOS_FROM_POOL_URL, request_data=request_data)
|
|
|
+ if result is None:
|
|
|
+ break
|
|
|
+ if result['code'] != 0:
|
|
|
+ log_.info('batch_flag: {}, 获取流量池视频失败'.format(batch_flag))
|
|
|
+ break
|
|
|
+ videos.append(result['data'])
|
|
|
+ return videos
|
|
|
+
|
|
|
+
|
|
|
+def get_videos_remain_view_count(app_type, videos_info):
|
|
|
+ """
|
|
|
+ 获取视频在流量池中的剩余可分发数
|
|
|
+ :param app_type: 产品标识 type-int
|
|
|
+ :param videos_info: 视频信息 (视频id, 流量池标记) type-list,[(video_id, flow_pool), ...]
|
|
|
+ :return: data type-list,[(video_id, flow_pool, view_count), ...]
|
|
|
+ """
|
|
|
+ if not videos_info:
|
|
|
+ return []
|
|
|
+
|
|
|
+ videos = [{'videoId': info[0], 'flowPool': info[1]} for info in videos_info]
|
|
|
+ request_data = {'appType': app_type, 'videos': videos}
|
|
|
+ result = request_post(request_url=config_.GET_REMAIN_VIEW_COUNT_URL, request_data=request_data)
|
|
|
+
|
|
|
+ if result is None:
|
|
|
+ return []
|
|
|
+
|
|
|
+ if result['code'] != 0:
|
|
|
+ log_.info('获取视频在流量池中的剩余可分发数失败')
|
|
|
+ return []
|
|
|
+
|
|
|
+ data = [(item['videoId'], item['flowPool'], item['viewCount']) for item in result['data']]
|
|
|
+ return data
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ # res = get_videos_from_pool(app_type=0)
|
|
|
+ res = get_videos_remain_view_count(app_type=0, videos_info=[('12345', '#2#1#111')])
|
|
|
+ print(res)
|