forked from blallo/rss-bridge
bridges: Merge all Allocine* bridges into AllocineFRBridge
This commit is contained in:
parent
68d1c1f961
commit
0c1ec44c49
3 changed files with 69 additions and 137 deletions
|
@ -1,54 +1,94 @@
|
||||||
<?php
|
<?php
|
||||||
class AllocineFRBridge extends BridgeAbstract{
|
class AllocineFRBridge extends BridgeAbstract{
|
||||||
|
|
||||||
private $_URL = "http://www.allocine.fr/video/programme-12284/saison-24580/";
|
|
||||||
private $_NOM = "Faux Raccord";
|
|
||||||
|
|
||||||
public function loadMetadatas() {
|
public function loadMetadatas() {
|
||||||
|
|
||||||
$this->maintainer = "superbaillot.net";
|
$this->maintainer = "superbaillot.net";
|
||||||
$this->name = "Allo Cine : Faux Raccord";
|
$this->name = "Allo Cine Bridge";
|
||||||
$this->uri = "http://www.allocine.fr/video/programme-12284/saison-24580/";
|
$this->uri = "http://www.allocine.fr";
|
||||||
$this->description = "Allo Cine : Faux Raccord";
|
$this->description = "Bridge for allocine.fr";
|
||||||
$this->update = "2016-08-06";
|
$this->update = "2016-08-10";
|
||||||
|
|
||||||
}
|
$this->parameters[] =
|
||||||
|
'[
|
||||||
|
{
|
||||||
|
"name" : "category",
|
||||||
|
"identifier" : "category",
|
||||||
|
"type" : "list",
|
||||||
|
"required" : "true",
|
||||||
|
"exampleValue" : "Faux Raccord",
|
||||||
|
"title" : "Select your category",
|
||||||
|
"values" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Faux Raccord",
|
||||||
|
"value" : "faux-raccord"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Top 5",
|
||||||
|
"value" : "top-5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Tueurs En Serie",
|
||||||
|
"value" : "tuers-en-serie"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(array $param){
|
public function collectData(array $params){
|
||||||
$html = $this->file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);
|
|
||||||
|
// Check all parameters
|
||||||
|
if(!isset($params['category']))
|
||||||
|
$this->returnError('You must specify a valid category (&category= )!', 400);
|
||||||
|
|
||||||
|
$category = '';
|
||||||
|
switch($params['category']){
|
||||||
|
case 'faux-raccord':
|
||||||
|
$this->uri = 'http://www.allocine.fr/video/programme-12284/saison-24580/';
|
||||||
|
$category = 'Faux Raccord';
|
||||||
|
break;
|
||||||
|
case 'top-5':
|
||||||
|
$this->uri = 'http://www.allocine.fr/video/programme-12299/saison-22542/';
|
||||||
|
$category = 'Top 5';
|
||||||
|
break;
|
||||||
|
case 'tuers-en-serie':
|
||||||
|
$this->uri = 'http://www.allocine.fr/video/programme-12286/saison-22938/';
|
||||||
|
$category = 'Tueurs en Séries';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->returnError('You must select a valid category!', 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update bridge name to match selection
|
||||||
|
$this->name .= ' : ' . $category;
|
||||||
|
|
||||||
|
$html = $this->file_get_html($this->uri) or $this->returnError("Could not request {$this->uri}!", 404);
|
||||||
|
|
||||||
foreach($html->find('figure.media-meta-fig') as $element)
|
foreach($html->find('figure.media-meta-fig') as $element)
|
||||||
{
|
{
|
||||||
$item = new Item();
|
$item = new Item();
|
||||||
|
|
||||||
$titre = $element->find('div.titlebar h3.title a', 0);
|
$title = $element->find('div.titlebar h3.title a', 0);
|
||||||
$content = trim($element->innertext);
|
$content = trim($element->innertext);
|
||||||
|
$figCaption = strpos($content, $category);
|
||||||
$figCaption = strpos($content, $this->_NOM);
|
|
||||||
if($figCaption !== false)
|
if($figCaption !== false)
|
||||||
{
|
{
|
||||||
$content = str_replace('src="/', 'src="http://www.allocine.fr/',$content);
|
$content = str_replace('src="/', 'src="http://www.allocine.fr/', $content);
|
||||||
$content = str_replace('href="/', 'href="http://www.allocine.fr/',$content);
|
$content = str_replace('href="/', 'href="http://www.allocine.fr/', $content);
|
||||||
$content = str_replace('src=\'/', 'src=\'http://www.allocine.fr/',$content);
|
$content = str_replace('src=\'/', 'src=\'http://www.allocine.fr/', $content);
|
||||||
$content = str_replace('href=\'/', 'href=\'http://www.allocine.fr/',$content);
|
$content = str_replace('href=\'/', 'href=\'http://www.allocine.fr/', $content);
|
||||||
$item->content = $content;
|
$item->content = $content;
|
||||||
$item->title = trim($titre->innertext);
|
$item->title = trim($title->innertext);
|
||||||
$item->uri = "http://www.allocine.fr" . $titre->href;
|
$item->uri = "http://www.allocine.fr" . $title->href;
|
||||||
$this->items[] = $item;
|
$this->items[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getName(){
|
|
||||||
return 'Allo Cine : ' . $this->_NOM;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getURI(){
|
|
||||||
return $this->_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCacheDuration(){
|
public function getCacheDuration(){
|
||||||
return 25200; // 7 hours
|
return 25200; // 7 hours
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
<?php
|
|
||||||
class AllocineT5Bridge extends BridgeAbstract{
|
|
||||||
|
|
||||||
private $_URL = "http://www.allocine.fr/video/programme-12299/saison-22542/";
|
|
||||||
private $_NOM = "Top 5";
|
|
||||||
|
|
||||||
public function loadMetadatas() {
|
|
||||||
|
|
||||||
$this->maintainer = "superbaillot.net";
|
|
||||||
$this->name = "Allo Cine : Top 5";
|
|
||||||
$this->uri = "http://www.allocine.fr/video/programme-12299/saison-22542/";
|
|
||||||
$this->description = "Allo Cine : Top 5 via rss-bridge";
|
|
||||||
$this->update = "2016-08-06";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function collectData(array $param){
|
|
||||||
$html = $this->file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);
|
|
||||||
|
|
||||||
foreach($html->find('figure.media-meta-fig') as $element)
|
|
||||||
{
|
|
||||||
$item = new Item();
|
|
||||||
|
|
||||||
$titre = $element->find('div.titlebar h3.title a', 0);
|
|
||||||
$content = trim($element->innertext);
|
|
||||||
|
|
||||||
$figCaption = strpos($content, $this->_NOM);
|
|
||||||
if($figCaption !== false)
|
|
||||||
{
|
|
||||||
$content = str_replace('src="/', 'src="http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('href="/', 'href="http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('src=\'/', 'src=\'http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('href=\'/', 'href=\'http://www.allocine.fr/',$content);
|
|
||||||
$item->content = $content;
|
|
||||||
$item->title = trim($titre->innertext);
|
|
||||||
$item->uri = "http://www.allocine.fr" . $titre->href;
|
|
||||||
$this->items[] = $item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName(){
|
|
||||||
return 'Allo Cine : ' . $this->_NOM;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getURI(){
|
|
||||||
return $this->_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCacheDuration(){
|
|
||||||
return 25200; // 7 hours
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
|
@ -1,54 +0,0 @@
|
||||||
<?php
|
|
||||||
class AllocineTueursEnSerieBridge extends BridgeAbstract{
|
|
||||||
|
|
||||||
private $_URL = "http://www.allocine.fr/video/programme-12286/saison-22938/";
|
|
||||||
private $_NOM = "Tueurs en Séries";
|
|
||||||
|
|
||||||
public function loadMetadatas() {
|
|
||||||
|
|
||||||
$this->maintainer = "superbaillot.net";
|
|
||||||
$this->name = "Allo Cine : Tueurs En Serie";
|
|
||||||
$this->uri = "http://www.allocine.fr/video/programme-12286/saison-22938/";
|
|
||||||
$this->description = "Allo Cine : Tueurs En Serie";
|
|
||||||
$this->update = "2016-08-06";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function collectData(array $param){
|
|
||||||
$html = $this->file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);
|
|
||||||
|
|
||||||
foreach($html->find('figure.media-meta-fig') as $element)
|
|
||||||
{
|
|
||||||
$item = new Item();
|
|
||||||
|
|
||||||
$titre = $element->find('div.titlebar h3.title a', 0);
|
|
||||||
$content = trim($element->innertext);
|
|
||||||
|
|
||||||
$figCaption = strpos($content, $this->_NOM);
|
|
||||||
if($figCaption !== false)
|
|
||||||
{
|
|
||||||
$content = str_replace('src="/', 'src="http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('href="/', 'href="http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('src=\'/', 'src=\'http://www.allocine.fr/',$content);
|
|
||||||
$content = str_replace('href=\'/', 'href=\'http://www.allocine.fr/',$content);
|
|
||||||
$item->content = $content;
|
|
||||||
$item->title = trim($titre->innertext);
|
|
||||||
$item->uri = "http://www.allocine.fr" . $titre->href;
|
|
||||||
$this->items[] = $item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getName(){
|
|
||||||
return 'Allo Cine : ' . $this->_NOM;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getURI(){
|
|
||||||
return $this->_URL;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCacheDuration(){
|
|
||||||
return 25200; // 7 hours
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
Loading…
Reference in a new issue