From efa28a3baa12cac85f4cfc8665f1cf8762b9d7ee Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Sun, 27 Nov 2022 16:28:24 +0100 Subject: services: web: rss: add fip bridge --- config/services/web/rss/FipAlbumsBridge.php | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 config/services/web/rss/FipAlbumsBridge.php (limited to 'config/services/web/rss/FipAlbumsBridge.php') diff --git a/config/services/web/rss/FipAlbumsBridge.php b/config/services/web/rss/FipAlbumsBridge.php new file mode 100644 index 0000000..dfc3930 --- /dev/null +++ b/config/services/web/rss/FipAlbumsBridge.php @@ -0,0 +1,41 @@ + [ + 'category' => [ + 'name' => 'Category', + 'type' => 'text', + 'description' => 'See examples for available options.', + 'exampleValue' => 'can be empty, "selections" or "album-jazz-de-la-semaine"' + ] + ] + ]; + + const XPATH_EXPRESSION_ITEM = '//div[@class="Card Basic list squaredVisual"]'; + const XPATH_EXPRESSION_ITEM_TITLE = './/a/@title'; + const XPATH_EXPRESSION_ITEM_CONTENT = './div[1]'; + const XPATH_EXPRESSION_ITEM_URI = './/a/@href'; + const XPATH_EXPRESSION_ITEM_AUTHOR = './/div[@class="CardDetails fullWidth"]/div[2]'; + const XPATH_EXPRESSION_ITEM_TIMESTAMP = './/time/@datetime'; + const XPATH_EXPRESSION_ITEM_ENCLOSURES = './/img/@src'; + const XPATH_EXPRESSION_ITEM_CATEGORIES = './/div[@class="CardDetails fullWidth"]/div[3]'; + + public function getSourceUrl() { + return self::URI . $this->getInput('category'); + } + + public function getIcon() { + return 'https://www.radiofrance.fr/dist/favicons/fip/favicon.png'; + } + + protected function formatItemTimestamp($value) { + return strtotime('today +' . $value); + } +} -- cgit v1.2.3 From 3221a771ee11e18c6cb3eb2a654626259ab134c1 Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Sun, 4 Dec 2022 13:09:47 +0100 Subject: services: web: rss: fip: debug xpaths --- config/services/web/rss/FipAlbumsBridge.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'config/services/web/rss/FipAlbumsBridge.php') diff --git a/config/services/web/rss/FipAlbumsBridge.php b/config/services/web/rss/FipAlbumsBridge.php index dfc3930..b8ec64d 100644 --- a/config/services/web/rss/FipAlbumsBridge.php +++ b/config/services/web/rss/FipAlbumsBridge.php @@ -18,14 +18,14 @@ class FipAlbumsBridge extends XPathAbstract { ] ]; - const XPATH_EXPRESSION_ITEM = '//div[@class="Card Basic list squaredVisual"]'; + const XPATH_EXPRESSION_ITEM = '//div[starts-with(@class, "CardAlbum ")]'; const XPATH_EXPRESSION_ITEM_TITLE = './/a/@title'; - const XPATH_EXPRESSION_ITEM_CONTENT = './div[1]'; + const XPATH_EXPRESSION_ITEM_CONTENT = './/img/@alt'; const XPATH_EXPRESSION_ITEM_URI = './/a/@href'; - const XPATH_EXPRESSION_ITEM_AUTHOR = './/div[@class="CardDetails fullWidth"]/div[2]'; + const XPATH_EXPRESSION_ITEM_AUTHOR = './/div[starts-with(@class, "CardAlbum-details ")]/div[2]'; const XPATH_EXPRESSION_ITEM_TIMESTAMP = './/time/@datetime'; const XPATH_EXPRESSION_ITEM_ENCLOSURES = './/img/@src'; - const XPATH_EXPRESSION_ITEM_CATEGORIES = './/div[@class="CardDetails fullWidth"]/div[3]'; + const XPATH_EXPRESSION_ITEM_CATEGORIES = './/div[starts-with(@class, "CardDetails-label ")]/span[2]'; public function getSourceUrl() { return self::URI . $this->getInput('category'); -- cgit v1.2.3