|
@@ -11,9 +11,10 @@ from pymysql.cursors import DictCursor
|
|
|
|
|
|
from applications import log
|
|
|
from applications import PQAPI
|
|
|
-from applications import longArticlesMySQL
|
|
|
from applications.const import WeixinVideoCrawlerConst
|
|
|
from applications.api import generate_mini_program_title
|
|
|
+from applications.db import DatabaseConnector
|
|
|
+from config import long_articles_config
|
|
|
|
|
|
const = WeixinVideoCrawlerConst()
|
|
|
pq_functions = PQAPI()
|
|
@@ -25,7 +26,8 @@ class PublishVideosForAudit(object):
|
|
|
"""
|
|
|
|
|
|
def __init__(self):
|
|
|
- self.db = longArticlesMySQL()
|
|
|
+ self.db_client = DatabaseConnector(db_config=long_articles_config)
|
|
|
+ self.db_client.connect()
|
|
|
|
|
|
def get_publish_video_list(self) -> List[Dict]:
|
|
|
"""
|
|
@@ -40,7 +42,7 @@ class PublishVideosForAudit(object):
|
|
|
WHERE audit_status = {const.VIDEO_AUDIT_INIT_STATUS} and bad_status = {const.TITLE_DEFAULT_STATUS}
|
|
|
LIMIT {rest_count};
|
|
|
"""
|
|
|
- response = self.db.select(sql, cursor_type=DictCursor)
|
|
|
+ response = self.db_client.fetch(sql, cursor_type=DictCursor)
|
|
|
return response
|
|
|
|
|
|
def update_audit_status(self, video_id: int, ori_audit_status: int, new_audit_status: int) -> int:
|
|
@@ -57,8 +59,8 @@ class PublishVideosForAudit(object):
|
|
|
SET audit_status = %s
|
|
|
WHERE audit_video_id = %s and audit_status = %s;
|
|
|
"""
|
|
|
- affected_rows = self.db.update(
|
|
|
- sql=update_sql,
|
|
|
+ affected_rows = self.db_client.save(
|
|
|
+ query=update_sql,
|
|
|
params=(new_audit_status, video_id, ori_audit_status)
|
|
|
)
|
|
|
return affected_rows
|
|
@@ -74,7 +76,7 @@ class PublishVideosForAudit(object):
|
|
|
WHERE audit_status != {const.VIDEO_AUDIT_INIT_STATUS}
|
|
|
AND DATE(FROM_UNIXTIME(audit_timestamp)) = CURDATE();
|
|
|
"""
|
|
|
- response = self.db.select(select_sql, cursor_type=DictCursor)
|
|
|
+ response = self.db_client.fetch(select_sql, cursor_type=DictCursor)
|
|
|
return response[0]['total_count']
|
|
|
|
|
|
def publish_each_video(self, video_obj: Dict) -> Dict:
|
|
@@ -96,8 +98,8 @@ class PublishVideosForAudit(object):
|
|
|
SET audit_status = %s, audit_video_id = %s, audit_timestamp = %s
|
|
|
WHERE id = %s;
|
|
|
"""
|
|
|
- affected_rows = self.db.update(
|
|
|
- sql=update_sql,
|
|
|
+ affected_rows = self.db_client.save(
|
|
|
+ query=update_sql,
|
|
|
params=(const.VIDEO_AUDIT_PROCESSING_STATUS, video_id, int(time.time()), video_obj['id'])
|
|
|
)
|
|
|
if affected_rows:
|
|
@@ -121,7 +123,7 @@ class PublishVideosForAudit(object):
|
|
|
SET audit_status = %s
|
|
|
WHERE id = %s and audit_status = %s;
|
|
|
"""
|
|
|
- self.db.update(update_sql, params=(const.VIDEO_AUDIT_FAIL_STATUS, video_obj['id'], const.VIDEO_AUDIT_INIT_STATUS))
|
|
|
+ self.db_client.save(update_sql, params=(const.VIDEO_AUDIT_FAIL_STATUS, video_obj['id'], const.VIDEO_AUDIT_INIT_STATUS))
|
|
|
|
|
|
result = {
|
|
|
"status": "fail",
|
|
@@ -138,7 +140,7 @@ class PublishVideosForAudit(object):
|
|
|
:return:
|
|
|
"""
|
|
|
sql = f"""SELECT audit_video_id FROM publish_single_video_source WHERE audit_status = {const.VIDEO_AUDIT_PROCESSING_STATUS};"""
|
|
|
- response = self.db.select(sql, cursor_type=DictCursor)
|
|
|
+ response = self.db_client.fetch(sql, cursor_type=DictCursor)
|
|
|
return response
|
|
|
|
|
|
def update_mini_program_title(self, video_id: int) -> bool:
|
|
@@ -148,14 +150,14 @@ class PublishVideosForAudit(object):
|
|
|
select_sql = f"""
|
|
|
SELECT article_title FROM publish_single_video_source WHERE audit_video_id = {video_id};
|
|
|
"""
|
|
|
- title = self.db.select(select_sql, cursor_type=DictCursor)[0]['article_title']
|
|
|
+ title = self.db_client.fetch(select_sql, cursor_type=DictCursor)[0]['article_title']
|
|
|
|
|
|
try:
|
|
|
mini_program_title = generate_mini_program_title(title)
|
|
|
update_sql = f"""
|
|
|
UPDATE publish_single_video_source SET mini_program_title = %s WHERE audit_video_id = %s;
|
|
|
"""
|
|
|
- self.db.update(update_sql, params=(mini_program_title, video_id))
|
|
|
+ self.db_client.save(update_sql, params=(mini_program_title, video_id))
|
|
|
log(
|
|
|
task="publish_video_for_audit",
|
|
|
function="update_mini_program_title",
|