diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2026-05-15 22:00:39 +0200 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2026-05-15 22:00:39 +0200 |
| commit | c7d6da5e36fd0ab14711bf7761cd70f8283fa4c3 (patch) | |
| tree | 754a4bf31efeafcd265ec0046a9a966e954c67ed | |
| parent | 565b04797b79044721731689f24852444edee299 (diff) | |
| download | hermes-c7d6da5e36fd0ab14711bf7761cd70f8283fa4c3.tar.gz hermes-c7d6da5e36fd0ab14711bf7761cd70f8283fa4c3.tar.bz2 hermes-c7d6da5e36fd0ab14711bf7761cd70f8283fa4c3.tar.xz | |
services: rss: fip: fix
| -rw-r--r-- | config/services/web/rss/FipAlbumsBridge.php | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/config/services/web/rss/FipAlbumsBridge.php b/config/services/web/rss/FipAlbumsBridge.php index b8ec64d..aa5e597 100644 --- a/config/services/web/rss/FipAlbumsBridge.php +++ b/config/services/web/rss/FipAlbumsBridge.php @@ -1,5 +1,14 @@ <?php +$GLOBALS['DATE_FORMATTER'] = new IntlDateFormatter( + 'fr-FR', + IntlDateFormatter::FULL, + IntlDateFormatter::SHORT, + 'Etc/UTC', + IntlDateFormatter::GREGORIAN, + "d MMMM y" +); + class FipAlbumsBridge extends XPathAbstract { const NAME = 'Fip Albums Bridge'; const URI = 'https://www.radiofrance.fr/fip/albums/'; @@ -18,14 +27,14 @@ class FipAlbumsBridge extends XPathAbstract { ] ]; - const XPATH_EXPRESSION_ITEM = '//div[starts-with(@class, "CardAlbum ")]'; - const XPATH_EXPRESSION_ITEM_TITLE = './/a/@title'; + const XPATH_EXPRESSION_ITEM = '//div[starts-with(@class, "CardSide ")]'; + const XPATH_EXPRESSION_ITEM_TITLE = './/a/@aria-label'; const XPATH_EXPRESSION_ITEM_CONTENT = './/img/@alt'; const XPATH_EXPRESSION_ITEM_URI = './/a/@href'; - const XPATH_EXPRESSION_ITEM_AUTHOR = './/div[starts-with(@class, "CardAlbum-details ")]/div[2]'; - const XPATH_EXPRESSION_ITEM_TIMESTAMP = './/time/@datetime'; + const XPATH_EXPRESSION_ITEM_AUTHOR = './/div[starts-with(@class, "title-zone ")]/p[2]/text()'; + const XPATH_EXPRESSION_ITEM_TIMESTAMP = './/div[starts-with(@class, "AdditionalInfos ")]/p[1]/text()'; const XPATH_EXPRESSION_ITEM_ENCLOSURES = './/img/@src'; - const XPATH_EXPRESSION_ITEM_CATEGORIES = './/div[starts-with(@class, "CardDetails-label ")]/span[2]'; + const XPATH_EXPRESSION_ITEM_CATEGORIES = './/div[starts-with(@class, "AdditionalInfos ")]/p[2]/text()'; public function getSourceUrl() { return self::URI . $this->getInput('category'); @@ -36,6 +45,12 @@ class FipAlbumsBridge extends XPathAbstract { } protected function formatItemTimestamp($value) { - return strtotime('today +' . $value); + $monthyear = explode(": ", $value)[1]; + return $GLOBALS['DATE_FORMATTER']->parse('1 ' . $monthyear); + } + + # enclosure links don't have an extension + protected function cleanMediaUrl($mediaUrl) { + return $mediaUrl; } } |
