Merge branch 'vreddit_fallback_url' of wn/tt-rss into master
This commit is contained in:
commit
af13f3009c
|
@ -159,7 +159,34 @@ class Af_RedditImgur extends Plugin {
|
||||||
$poster_url = false;
|
$poster_url = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$source_stream = "https://v.redd.it/" . $matches[1] . "/DASH_600_K";
|
// Get original article URL from v.redd.it redirects
|
||||||
|
$source_article_url = $this->get_location($matches[0]);
|
||||||
|
_debug("Resolved ".$matches[0]." to ".$source_article_url, $debug);
|
||||||
|
|
||||||
|
$source_stream = false;
|
||||||
|
|
||||||
|
if ($source_article_url) {
|
||||||
|
$j = json_decode(fetch_file_contents($source_article_url.".json"), true);
|
||||||
|
|
||||||
|
if ($j) {
|
||||||
|
foreach ($j as $listing) {
|
||||||
|
foreach ($listing["data"]["children"] as $child) {
|
||||||
|
if ($child["data"]["url"] == $matches[0]) {
|
||||||
|
try {
|
||||||
|
$source_stream = $child["data"]["media"]["reddit_video"]["fallback_url"];
|
||||||
|
}
|
||||||
|
catch (Exception $e) {
|
||||||
|
}
|
||||||
|
break 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$source_stream) {
|
||||||
|
$source_stream = "https://v.redd.it/" . $matches[1] . "/DASH_600_K";
|
||||||
|
}
|
||||||
|
|
||||||
$this->handle_as_video($doc, $entry, $source_stream, $poster_url);
|
$this->handle_as_video($doc, $entry, $source_stream, $poster_url);
|
||||||
$found = 1;
|
$found = 1;
|
||||||
|
@ -452,8 +479,8 @@ class Af_RedditImgur extends Plugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function get_content_type($url, $useragent = SELF_USER_AGENT) {
|
private function get_header($url, $useragent = SELF_USER_AGENT, $header) {
|
||||||
$content_type = false;
|
$ret = false;
|
||||||
|
|
||||||
if (function_exists("curl_init") && !defined("NO_CURL")) {
|
if (function_exists("curl_init") && !defined("NO_CURL")) {
|
||||||
$ch = curl_init($url);
|
$ch = curl_init($url);
|
||||||
|
@ -465,10 +492,18 @@ class Af_RedditImgur extends Plugin {
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
|
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
|
||||||
|
|
||||||
@curl_exec($ch);
|
@curl_exec($ch);
|
||||||
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
|
$ret = curl_getinfo($ch, $header);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $content_type;
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function get_content_type($url, $useragent = SELF_USER_AGENT) {
|
||||||
|
return $this->get_header($url, $useragent, CURLINFO_CONTENT_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function get_location($url, $useragent = SELF_USER_AGENT) {
|
||||||
|
return $this->get_header($url, $useragent, CURLINFO_EFFECTIVE_URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue