Pārlūkot izejas kodu

Update article_exit_with_title: clean codes

StrayWarrior 8 mēneši atpakaļ
vecāks
revīzija
94a164b101
1 mainītis faili ar 34 papildinājumiem un 32 dzēšanām
  1. 34 32
      flow_pool/article_exit_with_title.py

+ 34 - 32
flow_pool/article_exit_with_title.py

@@ -13,21 +13,20 @@ def get_level_up_articles() -> set:
     """
     :return:
     """
-    pool_level2 = "20240804003153130851174"
-    pool_level1 = "20240802171417146947657"
-    pool_level0 = "20240802143345289374071"
-    pool_level2_result = get_generated_article_list(pool_level2)
-    title_list_2 = [i[1] for i in pool_level2_result]
-    pool_level1_result = get_generated_article_list(pool_level1)
-    title_list_1 = [i[1] for i in pool_level1_result]
-    pool_level0_result = get_generated_article_list(pool_level0)
-    title_list_0 = [i[1] for i in pool_level0_result]
-    title_list = title_list_1 + title_list_0 + title_list_2
-    good_title_set = set(title_list)
+    generate_pool_ids = [
+        "20240804003153130851174",
+        "20240802171417146947657",
+        "20240802143345289374071",
+    ]
+    good_title_set = set()
+    for pool_id in generate_pool_ids:
+        articles = get_generated_article_list(pool_id)
+        titles = [article[1] for article in articles]
+        good_title_set.update(titles)
     return good_title_set
 
 
-class ArticleExitWithTitle(object):
+class ArticleTitleStatusManager(object):
     """
     文章退场表格维护
     """
@@ -68,7 +67,7 @@ class ArticleExitWithTitle(object):
             )
         return True
 
-    def bad_article_manager(self, read_times_on_avg_threshold, discovery_times_threshold) -> list[str]:
+    def get_bad_articles(self, read_times_on_avg_threshold, discovery_times_threshold) -> list[str]:
         """
         找出质量很差的文章标题,将该标题设置为退场状态
         :return:
@@ -85,7 +84,7 @@ class ArticleExitWithTitle(object):
         articles = self.lam_client.select(sql)
         return [i[0] for i in articles]
 
-    def record_title_list(self, title_list, status) -> int:
+    def save_titles(self, title_list, status) -> int:
         """
         修改标题状态
         :param status:
@@ -122,7 +121,7 @@ class ArticleExitWithTitle(object):
                     error_msg = traceback.format_exc()
                     log(
                         task="article_exit_with_title",
-                        function="record_title_list",
+                        function="save_titles",
                         status="fail",
                         data={
                             "e": str(e),
@@ -151,32 +150,35 @@ def main():
     READ_TIMES_ON_AVG_THRESHOLD = 0.5
     DISCOVERY_TIMES_THRESHOLD = 10
 
-    article_title_manager = ArticleExitWithTitle()
+    article_title_manager = ArticleTitleStatusManager()
     article_title_manager.init_database()
 
     # 处理晋级标题
     up_level_title = get_level_up_articles()
-    up_level_success_count = article_title_manager.record_title_list(title_list=up_level_title, status=UP_LEVEL_STATUS)
-    # up_level_success_count = 0
+    up_level_success_count = article_title_manager.save_titles(
+        title_list=up_level_title,
+        status=UP_LEVEL_STATUS
+    )
 
     # 处理退场标题
-    exit_article_list = article_title_manager.bad_article_manager(
+    exit_article_list = article_title_manager.get_bad_articles(
         read_times_on_avg_threshold=READ_TIMES_ON_AVG_THRESHOLD,
         discovery_times_threshold=DISCOVERY_TIMES_THRESHOLD
     )
-    exit_success_count = article_title_manager.record_title_list(title_list=exit_article_list, status=ARTICLE_EXIT_STATUS)
-
-    if exit_success_count >= 0 and up_level_success_count >= 0:
-        bot(
-            title="冷启动文章晋级, 退场完成",
-            detail={
-                "已经晋级文章数量": up_level_success_count,
-                "已经退场文章数控": exit_success_count,
-                "阅读均值倍数阈值": READ_TIMES_ON_AVG_THRESHOLD,
-                "探索次数阈值": DISCOVERY_TIMES_THRESHOLD
-            },
-            mention=False
-        )
+    exit_success_count = article_title_manager.save_titles(
+        title_list=exit_article_list,
+        status=ARTICLE_EXIT_STATUS)
+
+    bot(
+        title="冷启动文章晋级/退场完成",
+        detail={
+            "晋级文章数量": up_level_success_count,
+            "退场文章数量": exit_success_count,
+            "阅读均值倍数阈值": READ_TIMES_ON_AVG_THRESHOLD,
+            "探索次数阈值": DISCOVERY_TIMES_THRESHOLD
+        },
+        mention=False
+    )
 
 
 if __name__ == '__main__':