From 6d284ad5afff45fe0aeea806f914f2922a2498e4 Mon Sep 17 00:00:00 2001 From: Damien Calesse Date: Tue, 22 Jul 2014 20:00:28 +0200 Subject: [PATCH 1/6] Change WhyBridge.php --- bridges/WhydBridge.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridges/WhydBridge.php b/bridges/WhydBridge.php index 2e258733..d2c596df 100644 --- a/bridges/WhydBridge.php +++ b/bridges/WhydBridge.php @@ -8,7 +8,7 @@ * @description Returns 10 newest music from user profile * @maintainer kranack * @update 2014-07-18 -* @use1(u="username") +* @use1(u="username/id") * */ class WhydBridge extends BridgeAbstract{ From 1c38a91d416716de27b5d5d287b0634f30ab48a3 Mon Sep 17 00:00:00 2001 From: Damien Calesse Date: Tue, 22 Jul 2014 20:02:40 +0200 Subject: [PATCH 2/6] Improve LeMondeDiploBridge.php --- bridges/MondeDiploBridge.php | 45 +++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/bridges/MondeDiploBridge.php b/bridges/MondeDiploBridge.php index f6abe7cf..38f843b0 100644 --- a/bridges/MondeDiploBridge.php +++ b/bridges/MondeDiploBridge.php @@ -10,29 +10,42 @@ * @description Returns most recent results from MondeDiplo. * @maintainer Pitchoule */ + class MondeDiploBridge extends BridgeAbstract{ public function collectData(array $param){ $link = 'http://www.monde-diplomatique.fr'; - + $html = file_get_html($link) or $this->returnError('Could not request MondeDiplo. for : ' . $link , 404); - - foreach($html->find('div[class=grid_10 alpha omega laune]') as $element) { - $item = new Item(); - $item->uri = 'http://www.monde-diplomatique.fr'.$element->find('a', 0)->href; - $NumArticle = explode("/", $element->find('a', 0)->href); - $item->title = $element->find('h3', 0)->plaintext; - $item->content = $element->find('div[class=crayon article-intro-'.$NumArticle[4].' intro]', 0)->plaintext; - $this->items[] = $item; - } - - foreach($html->find('div.titraille') as $element) { - $item = new Item(); + + foreach($html->find('div.laune') as $element) { + $item = new Item(); + $item->uri = 'http://www.monde-diplomatique.fr'.$element->find('a', 0)->href; + $item->title = $element->find('h3', 0)->plaintext; + $item->content = $element->find('div.dates_auteurs', 0)->plaintext. '
' .strstr($element->find('div', 0)->plaintext, $element->find('div.dates_auteurs', 0)->plaintext, true); + $this->items[] = $item; + } + + $liste = $html->find('div.listes', 0); // First list + foreach ($liste->find('li') as $e) { + + $item = new Item(); + $item->uri = 'http://www.monde-diplomatique.fr' . $e->find('a', 0)->href; + $item->title = $e->find('a', 0)->plaintext; + $item->content = $e->find('div.dates_auteurs', 0)->plaintext; + $this->items[] = $item; + } + + foreach($html->find('div.liste ul li') as $element) { + if ($element->getAttribute('class') != 'intrapub') { + $item = new Item(); $item->uri = 'http://www.monde-diplomatique.fr'.$element->find('a', 0)->href; $item->title = $element->find('h3', 0)->plaintext; - $item->content = $element->find('div.dates_auteurs', 0)->plaintext; + $item->content = $element->find('div.dates_auteurs', 0)->plaintext . '
' . $element->find('div.intro', 0)->plaintext; $this->items[] = $item; - } + } + } + } public function getName(){ @@ -47,4 +60,4 @@ class MondeDiploBridge extends BridgeAbstract{ return 21600; // 6 hours } } - + From a73d1cfc0cb8b4d47ddc007a034fd441770cd162 Mon Sep 17 00:00:00 2001 From: Damien Calesse Date: Wed, 23 Jul 2014 11:17:53 +0200 Subject: [PATCH 3/6] Ni --- bridges/ScoopItBridge.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/bridges/ScoopItBridge.php b/bridges/ScoopItBridge.php index 70750515..a690bd71 100644 --- a/bridges/ScoopItBridge.php +++ b/bridges/ScoopItBridge.php @@ -15,17 +15,21 @@ class ScoopItBridge extends BridgeAbstract{ public function collectData(array $param){ $html = ''; - $this->request = $param['u']; - $link = 'http://scoop.it/search?q=' .urlencode($this->request); - - $html = file_get_html($link) or $this->returnError('Could not request ScoopIt. for : ' . $link , 404); - - foreach($html->find('div.post-view') as $element) { + if ($param['u'] != '') { + $this->request = $param['u']; + $link = 'http://scoop.it/search?q=' .urlencode($this->request); + + $html = file_get_html($link) or $this->returnError('Could not request ScoopIt. for : ' . $link , 404); + + foreach($html->find('div.post-view') as $element) { $item = new Item(); $item->uri = $element->find('a', 0)->href; - $item->title = $element->find('div.tCustomization_post_title',0)->innertext; - $item->content = $element->find('div.tCustomization_post_description', 0)->plaintext; + $item->title = preg_replace('~[[:cntrl:]]~', '', $element->find('div.tCustomization_post_title',0)->plaintext); + $item->content = preg_replace('~[[:cntrl:]]~', '', $element->find('div.tCustomization_post_description', 0)->plaintext); $this->items[] = $item; + } + } else { + $this->returnError('You must specify a keyword', 404); } } From 4b0ac11b82ee48ebd1cbfea420b195a29dd0d611 Mon Sep 17 00:00:00 2001 From: Damien Calesse Date: Wed, 23 Jul 2014 12:53:02 +0200 Subject: [PATCH 4/6] Create ABCTabsBridge.php --- bridges/ABCTabsBridge.php | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 bridges/ABCTabsBridge.php diff --git a/bridges/ABCTabsBridge.php b/bridges/ABCTabsBridge.php new file mode 100644 index 00000000..f0973b6a --- /dev/null +++ b/bridges/ABCTabsBridge.php @@ -0,0 +1,44 @@ +returnError('No results for this query.', 404); + $table = $html->find('table#myTable', 0)->children(1); + + foreach ($table->find('tr') as $tab) + { + $item = new \Item(); + $item->name = $tab->find('td', 1)->plaintext . ' - ' . $tab->find('td', 2)->plaintext; + $item->title = $tab->find('td', 1)->plaintext . ' - ' . $tab->find('td', 2)->plaintext; + $item->content = 'Le ' . $tab->find('td', 0)->plaintext . '
Par: ' . $tab->find('td', 5)->plaintext . '
Type: ' . $tab->find('td', 3)->plaintext; + $item->id = 'http://www.abc-tabs.com' . $tab->find('td', 2)->find('a', 0)->getAttribute('href'); + $item->uri = 'http://www.abc-tabs.com' . $tab->find('td', 2)->find('a', 0)->getAttribute('href'); + $this->items[] = $item; + } + } + public function getName(){ + return 'ABC Tabs Bridge'; + } + + public function getURI(){ + return 'http://www.abc-tabs.com/'; + } + + public function getCacheDuration(){ + return 3600; // 1 hour + } +} From c06343128a665a92531542048baf866a6e249093 Mon Sep 17 00:00:00 2001 From: Damien Calesse Date: Thu, 24 Jul 2014 13:51:42 +0200 Subject: [PATCH 5/6] SoundcloudBridge & Add icon to Atom Format --- bridges/SoundcloudBridge.php | 55 ++++++++++++++++++++++++++++++++++++ formats/AtomFormat.php | 3 ++ 2 files changed, 58 insertions(+) create mode 100644 bridges/SoundcloudBridge.php diff --git a/bridges/SoundcloudBridge.php b/bridges/SoundcloudBridge.php new file mode 100644 index 00000000..05c47bff --- /dev/null +++ b/bridges/SoundcloudBridge.php @@ -0,0 +1,55 @@ +request = $param['u']; + + $res = json_decode(file_get_contents('http://api.soundcloud.com/resolve.json?url=http://www.soundcloud.com/'. urlencode($this->request) .'&consumer_key=apigee')) or $this->returnError('No results for this query', 404); + $tracks = json_decode(file_get_contents('http://api.soundcloud.com/users/'. urlencode($res->id) .'/tracks.json?consumer_key=apigee')) or $this->returnError('No results for this user', 404); + } + else + { + $this->returnError('You must specify username', 400); + } + + for ($i=0; $i < 10; $i++) { + $item = new \Item(); + $item->name = $tracks[$i]->user->username .' - '. $tracks[$i]->title; + $item->title = $tracks[$i]->user->username .' - '. $tracks[$i]->title; + $item->content = '