Add sdfsf
This commit is contained in:
parent
366d2d66b3
commit
c2559ff71f
1 changed files with 66 additions and 0 deletions
66
bridges/GithubTrendingBridge.php
Normal file
66
bridges/GithubTrendingBridge.php
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
class GithubTrendingBridge extends BridgeAbstract {
|
||||
|
||||
const MAINTAINER = 'liamka';
|
||||
const NAME = 'Github Trending';
|
||||
const URI = 'https://github.com/trending';
|
||||
const CACHE_TIMEOUT = 43200; // 12hr
|
||||
const DESCRIPTION = 'See what the GitHub community is most excited repos.';
|
||||
const PARAMETERS = array(
|
||||
'Language' => array(
|
||||
'language' => array(
|
||||
'name' => 'Programming language',
|
||||
'required' => true
|
||||
)
|
||||
),
|
||||
'global' => array(
|
||||
'date_range' => array(
|
||||
'name' => 'Date range',
|
||||
'type' => 'list',
|
||||
'required' => false,
|
||||
'values' => array(
|
||||
'Today' => 'today',
|
||||
'Weekly' => 'weekly',
|
||||
'Monthly' => 'monthly',
|
||||
),
|
||||
'defaultValue' => 'today'
|
||||
)
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
public function collectData(){
|
||||
$params = array('since' => urlencode($this->getInput('date_range')));
|
||||
$url = self::URI . '/' . $this->getInput('language') . '?' . http_build_query($params);
|
||||
|
||||
$html = getSimpleHTMLDOM($url)
|
||||
or returnServerError('Error while downloading the website content');
|
||||
|
||||
foreach($html->find('.Box-row') as $element) {
|
||||
$item = array();
|
||||
|
||||
// URI
|
||||
$item['uri'] = substr(self::URI, 0, -1) . $element->find('h1 a', 0)->href;
|
||||
|
||||
// Title
|
||||
$item['title'] = str_replace(' ', '', trim(strip_tags($element->find('h1 a', 0)->plaintext)));
|
||||
|
||||
// Description
|
||||
$item['description'] = trim(strip_tags($element->find('p.text-gray', 0)->innertext));
|
||||
|
||||
// Time
|
||||
$item['timestamp'] = time();
|
||||
|
||||
// TODO: Proxy?
|
||||
$this->items[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
if(!is_null($this->getInput('language'))) {
|
||||
return self::NAME . ' - ' . $this->getInput('language');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue