瀏覽代碼

bridges: Merge all Allocine* bridges into AllocineFRBridge

logmanoriginal 7 年之前
父節點
當前提交
0c1ec44c49
共有 3 個文件被更改,包括 69 次插入137 次删除
  1. 69 29
      bridges/AllocineFRBridge.php
  2. 0 54
      bridges/AllocineT5Bridge.php
  3. 0 54
      bridges/AllocineTueursEnSerieBridge.php

+ 69 - 29
bridges/AllocineFRBridge.php

@@ -1,54 +1,94 @@
 <?php
 class AllocineFRBridge extends BridgeAbstract{
 
-    private $_URL = "http://www.allocine.fr/video/programme-12284/saison-24580/";
-    private $_NOM = "Faux Raccord";
-
     public function loadMetadatas() {
 
-		$this->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 $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);
+        }
 
-    public function collectData(array $param){
-        $html = $this->file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);
+        // 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
     }
 }
-?>

+ 0 - 54
bridges/AllocineT5Bridge.php

@@ -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
-    }
-}
-?>

+ 0 - 54
bridges/AllocineTueursEnSerieBridge.php

@@ -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
-    }
-}
-?>