|
@@ -170,48 +170,56 @@ def filter_video_status(video_ids):
|
|
|
:param video_ids: 视频id列表 type-list
|
|
|
:return: filtered_videos
|
|
|
"""
|
|
|
- mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
- video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
- "t1.transcode_status AS 'transcoding_status', " \
|
|
|
- "t2.audit_status AS 'audit_status', " \
|
|
|
- "t2.video_status AS 'open_status', " \
|
|
|
- "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
- "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
- "t3.charge AS 'payment_status', " \
|
|
|
- "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
- "FROM longvideo.wx_video t1 " \
|
|
|
- "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
- if len(video_ids) == 1:
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE audit_status = 5 " \
|
|
|
- "AND applet_rec_status IN (1, -6) " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN ({});".format(video_status_sql, video_ids[0])
|
|
|
- data = mysql_helper.get_data(sql=sql)
|
|
|
-
|
|
|
- else:
|
|
|
- data = []
|
|
|
- for i in range(len(video_ids) // 2000 + 1):
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE audit_status = 5 " \
|
|
|
- "AND applet_rec_status IN (1, -6) " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN {};".format(video_status_sql, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
- select_res = mysql_helper.get_data(sql=sql)
|
|
|
- if select_res is not None:
|
|
|
- data += select_res
|
|
|
- filtered_videos = [int(temp[0]) for temp in data]
|
|
|
- return filtered_videos
|
|
|
+ i = 0
|
|
|
+ while i < 3:
|
|
|
+ try:
|
|
|
+ mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
+ video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
+ "t1.transcode_status AS 'transcoding_status', " \
|
|
|
+ "t2.audit_status AS 'audit_status', " \
|
|
|
+ "t2.video_status AS 'open_status', " \
|
|
|
+ "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
+ "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
+ "t3.charge AS 'payment_status', " \
|
|
|
+ "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
+ "FROM longvideo.wx_video t1 " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
+ if len(video_ids) == 1:
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE audit_status = 5 " \
|
|
|
+ "AND applet_rec_status IN (1, -6) " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN ({});".format(video_status_sql, video_ids[0])
|
|
|
+ data = mysql_helper.get_data(sql=sql)
|
|
|
+
|
|
|
+ else:
|
|
|
+ data = []
|
|
|
+ for i in range(len(video_ids) // 2000 + 1):
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE audit_status = 5 " \
|
|
|
+ "AND applet_rec_status IN (1, -6) " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN {};".format(video_status_sql, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
+ select_res = mysql_helper.get_data(sql=sql)
|
|
|
+ if select_res is not None:
|
|
|
+ data += select_res
|
|
|
+ filtered_videos = [int(temp[0]) for temp in data]
|
|
|
+ return filtered_videos
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ i += 1
|
|
|
+ if i == 3:
|
|
|
+ return video_ids
|
|
|
|
|
|
|
|
|
def filter_video_status_with_applet_rec(video_ids, applet_rec_status):
|
|
@@ -221,48 +229,56 @@ def filter_video_status_with_applet_rec(video_ids, applet_rec_status):
|
|
|
:param applet_rec_status: 小程序推荐状态 -6:待推荐 1:普通推荐
|
|
|
:return: filtered_videos
|
|
|
"""
|
|
|
- mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
- video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
- "t1.transcode_status AS 'transcoding_status', " \
|
|
|
- "t2.audit_status AS 'audit_status', " \
|
|
|
- "t2.video_status AS 'open_status', " \
|
|
|
- "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
- "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
- "t3.charge AS 'payment_status', " \
|
|
|
- "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
- "FROM longvideo.wx_video t1 " \
|
|
|
- "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
- if len(video_ids) == 1:
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE audit_status = 5 " \
|
|
|
- "AND applet_rec_status = {} " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN ({});".format(video_status_sql, applet_rec_status, video_ids[0])
|
|
|
- data = mysql_helper.get_data(sql=sql)
|
|
|
-
|
|
|
- else:
|
|
|
- data = []
|
|
|
- for i in range(len(video_ids) // 2000 + 1):
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE audit_status = 5 " \
|
|
|
- "AND applet_rec_status = {} " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN {};".format(video_status_sql, applet_rec_status, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
- select_res = mysql_helper.get_data(sql=sql)
|
|
|
- if select_res is not None:
|
|
|
- data += select_res
|
|
|
- filtered_videos = [int(temp[0]) for temp in data]
|
|
|
- return filtered_videos
|
|
|
+ i = 0
|
|
|
+ while i < 3:
|
|
|
+ try:
|
|
|
+ mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
+ video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
+ "t1.transcode_status AS 'transcoding_status', " \
|
|
|
+ "t2.audit_status AS 'audit_status', " \
|
|
|
+ "t2.video_status AS 'open_status', " \
|
|
|
+ "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
+ "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
+ "t3.charge AS 'payment_status', " \
|
|
|
+ "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
+ "FROM longvideo.wx_video t1 " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
+ if len(video_ids) == 1:
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE audit_status = 5 " \
|
|
|
+ "AND applet_rec_status = {} " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN ({});".format(video_status_sql, applet_rec_status, video_ids[0])
|
|
|
+ data = mysql_helper.get_data(sql=sql)
|
|
|
+
|
|
|
+ else:
|
|
|
+ data = []
|
|
|
+ for i in range(len(video_ids) // 2000 + 1):
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE audit_status = 5 " \
|
|
|
+ "AND applet_rec_status = {} " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN {};".format(video_status_sql, applet_rec_status, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
+ select_res = mysql_helper.get_data(sql=sql)
|
|
|
+ if select_res is not None:
|
|
|
+ data += select_res
|
|
|
+ filtered_videos = [int(temp[0]) for temp in data]
|
|
|
+ return filtered_videos
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ i += 1
|
|
|
+ if i == 3:
|
|
|
+ return video_ids
|
|
|
|
|
|
|
|
|
def filter_video_status_app(video_ids):
|
|
@@ -271,50 +287,58 @@ def filter_video_status_app(video_ids):
|
|
|
:param video_ids: 视频id列表 type-list
|
|
|
:return: filtered_videos
|
|
|
"""
|
|
|
- mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
- video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
- "t1.transcode_status AS 'transcoding_status', " \
|
|
|
- "t2.app_audit_status AS 'app_audit_status', " \
|
|
|
- "t2.original_status AS 'open_status', " \
|
|
|
- "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
- "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
- "t3.charge AS 'payment_status', " \
|
|
|
- "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
- "FROM longvideo.wx_video t1 " \
|
|
|
- "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
- "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
-
|
|
|
- if len(video_ids) == 1:
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE app_audit_status = 5 " \
|
|
|
- "AND app_rec_status IN (1, -6, 10) " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN ({});".format(video_status_sql, video_ids[0])
|
|
|
- data = mysql_helper.get_data(sql=sql)
|
|
|
-
|
|
|
- else:
|
|
|
- data = []
|
|
|
- for i in range(len(video_ids) // 2000 + 1):
|
|
|
- sql = "SELECT video_id " \
|
|
|
- "FROM ({}) " \
|
|
|
- "WHERE app_audit_status = 5 " \
|
|
|
- "AND app_rec_status IN (1, -6, 10) " \
|
|
|
- "AND open_status = 1 " \
|
|
|
- "AND payment_status = 0 " \
|
|
|
- "AND encryption_status != 5 " \
|
|
|
- "AND transcoding_status = 3 " \
|
|
|
- "AND video_id IN {};".format(video_status_sql, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
- select_res = mysql_helper.get_data(sql=sql)
|
|
|
- if select_res is not None:
|
|
|
- data += select_res
|
|
|
-
|
|
|
- filtered_videos = [int(temp[0]) for temp in data]
|
|
|
- return filtered_videos
|
|
|
+ i = 0
|
|
|
+ while i < 3:
|
|
|
+ try:
|
|
|
+ mysql_helper = MysqlHelper(mysql_info=config_.FILTER_MYSQL_INFO)
|
|
|
+ video_status_sql = "SELECT t1.id AS 'video_id', " \
|
|
|
+ "t1.transcode_status AS 'transcoding_status', " \
|
|
|
+ "t2.app_audit_status AS 'app_audit_status', " \
|
|
|
+ "t2.original_status AS 'open_status', " \
|
|
|
+ "t2.recommend_status AS 'applet_rec_status', " \
|
|
|
+ "t2.app_recommend_status AS 'app_rec_status', " \
|
|
|
+ "t3.charge AS 'payment_status', " \
|
|
|
+ "case when t4.max_validate_count is null then 0 else t4.max_validate_count end AS 'encryption_status' " \
|
|
|
+ "FROM longvideo.wx_video t1 " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_status t2 ON t1.id= t2.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_detail t3 ON t1.id= t3.video_id " \
|
|
|
+ "LEFT JOIN longvideo.wx_video_pwd t4 ON t1.id= t4.video_id"
|
|
|
+
|
|
|
+ if len(video_ids) == 1:
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE app_audit_status = 5 " \
|
|
|
+ "AND app_rec_status IN (1, -6, 10) " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN ({});".format(video_status_sql, video_ids[0])
|
|
|
+ data = mysql_helper.get_data(sql=sql)
|
|
|
+
|
|
|
+ else:
|
|
|
+ data = []
|
|
|
+ for i in range(len(video_ids) // 2000 + 1):
|
|
|
+ sql = "SELECT video_id " \
|
|
|
+ "FROM ({}) " \
|
|
|
+ "WHERE app_audit_status = 5 " \
|
|
|
+ "AND app_rec_status IN (1, -6, 10) " \
|
|
|
+ "AND open_status = 1 " \
|
|
|
+ "AND payment_status = 0 " \
|
|
|
+ "AND encryption_status != 5 " \
|
|
|
+ "AND transcoding_status = 3 " \
|
|
|
+ "AND video_id IN {};".format(video_status_sql, tuple(video_ids[i*2000:(i+1)*2000]))
|
|
|
+ select_res = mysql_helper.get_data(sql=sql)
|
|
|
+ if select_res is not None:
|
|
|
+ data += select_res
|
|
|
+
|
|
|
+ filtered_videos = [int(temp[0]) for temp in data]
|
|
|
+ return filtered_videos
|
|
|
+
|
|
|
+ except Exception as e:
|
|
|
+ i += 1
|
|
|
+ if i == 3:
|
|
|
+ return video_ids
|
|
|
|
|
|
|
|
|
def filter_shield_video(video_ids, shield_key_name_list):
|