From 0c1ec44c497060e58d6e2ff842909f9103ce46ae Mon Sep 17 00:00:00 2001 From: logmanoriginal Date: Wed, 10 Aug 2016 11:41:35 +0200 Subject: [PATCH] bridges: Merge all Allocine* bridges into AllocineFRBridge --- bridges/AllocineFRBridge.php | 98 +++++++++++++++++-------- bridges/AllocineT5Bridge.php | 54 -------------- bridges/AllocineTueursEnSerieBridge.php | 54 -------------- 3 files changed, 69 insertions(+), 137 deletions(-) delete mode 100644 bridges/AllocineT5Bridge.php delete mode 100644 bridges/AllocineTueursEnSerieBridge.php diff --git a/bridges/AllocineFRBridge.php b/bridges/AllocineFRBridge.php index c54edff..b0a5b4c 100644 --- a/bridges/AllocineFRBridge.php +++ b/bridges/AllocineFRBridge.php @@ -1,54 +1,94 @@ maintainer = "superbaillot.net"; - $this->name = "Allo Cine : Faux Raccord"; - $this->uri = "http://www.allocine.fr/video/programme-12284/saison-24580/"; - $this->description = "Allo Cine : Faux Raccord"; - $this->update = "2016-08-06"; + $this->maintainer = "superbaillot.net"; + $this->name = "Allo Cine Bridge"; + $this->uri = "http://www.allocine.fr"; + $this->description = "Bridge for allocine.fr"; + $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){ - $html = $this->file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404); + public function collectData(array $params){ + + // 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) { $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); - - $figCaption = strpos($content, $this->_NOM); + $figCaption = strpos($content, $category); + 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); + $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; + $item->title = trim($title->innertext); + $item->uri = "http://www.allocine.fr" . $title->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 } } -?> diff --git a/bridges/AllocineT5Bridge.php b/bridges/AllocineT5Bridge.php deleted file mode 100644 index 2dd1d81..0000000 --- a/bridges/AllocineT5Bridge.php +++ /dev/null @@ -1,54 +0,0 @@ -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 - } -} -?> diff --git a/bridges/AllocineTueursEnSerieBridge.php b/bridges/AllocineTueursEnSerieBridge.php deleted file mode 100644 index d4330ec..0000000 --- a/bridges/AllocineTueursEnSerieBridge.php +++ /dev/null @@ -1,54 +0,0 @@ -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 - } -} -?>