blob: 02d6c314a728e46f81f922489e6abe7b1a5717d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?php
class ParisJazzClubBridge extends XPathAbstract {
const NAME = 'Paris Jazz Club Bridge';
const URI = 'https://www.parisjazzclub.net/en/agenda-free/';
const DESCRIPTION = 'Free concerts for the Paris Jazz Club subscribers.';
const MAINTAINER = 'Quentin Aristote';
const CACHE_TIMEOUT = 86400; // 24h
const FEED_SOURCE_URL = 'https://www.parisjazzclub.net/en/agenda-free/';
const XPATH_EXPRESSION_ITEM = '//div[@class="col-12 mb-5 concerts-items"]';
const XPATH_EXPRESSION_ITEM_TITLE = './/h3';
const XPATH_EXPRESSION_ITEM_CONTENT = '.';
const XPATH_EXPRESSION_ITEM_URI = './/a/@href';
const XPATH_EXPRESSION_ITEM_AUTHOR = './/i[@class="fa fa-fw fa-street-view text-ocre"]/..';
const XPATH_EXPRESSION_ITEM_TIMESTAMP = './/i[@class="fa fa-fw fa-calendar text-ocre"]/..';
const XPATH_EXPRESSION_ITEM_ENCLOSURES = './/img[@class="img"]/@src';
const XPATH_EXPRESSION_ITEM_CATEGORIES = './/i[@class="fa fa-fw fa-music text-ocre"]/..';
public function getIcon() {
return 'https://www.parisjazzclub.net/favicon/favicon.ico';
}
protected function formatItemTimestamp($value) {
$date = str_replace("/", "-", substr($value, -10));
return strtotime($date);
}
protected function formatItemContent($value) {
$text = preg_replace("/\s\s+/", "\n", $value);
return $text;
}
}
|