Pārlūkot izejas kodu

Make distinction between highlighted/non-highlighted articles for FTv

jherve 1 gadu atpakaļ
vecāks
revīzija
615b6dd102
1 mainītis faili ar 23 papildinājumiem un 12 dzēšanām
  1. 23 12
      src/media_observer/medias/france_tv_info.py

+ 23 - 12
src/media_observer/medias/france_tv_info.py

@@ -21,18 +21,29 @@ class FranceTvInfoFrontPage(FrontPage):
 
     @staticmethod
     def get_main_article(soup):
-        def get_kwargs(main_selector, title_selector):
-            main = soup.select_unique(main_selector)
-            title = main.select_unique(title_selector)
-            return dict(title=title.stripped_text, url=main.select_unique("a")["href"])
-
         try:
-            kwargs = get_kwargs(
-                "article.card-article-majeure", ".card-article-majeure__title"
-            )
+            return FranceTvInfoFrontPage._get_highlighted_article(soup)
         except ValueError:
-            kwargs = get_kwargs(
-                "article.card-article-actu-forte", ".card-article-actu-forte__title"
-            )
+            return FranceTvInfoFrontPage._get_non_highlighted_article(soup)
+
+    @staticmethod
+    def _get_highlighted_article(soup):
+        main = soup.select_unique("article.card-article-actu-forte")
+        title = main.select_unique(".card-article-actu-forte__title")
+
+        return MainArticle.create(
+            title=title.stripped_text,
+            url=main.select_unique("a")["href"],
+            is_highlighted=True,
+        )
+
+    @staticmethod
+    def _get_non_highlighted_article(soup):
+        main = soup.select_unique("article.card-article-majeure")
+        title = main.select_unique(".card-article-majeure__title")
 
-        return MainArticle.create(**kwargs)
+        return MainArticle.create(
+            title=title.stripped_text,
+            url=main.select_unique("a")["href"],
+            is_highlighted=False,
+        )