Fixes #1345 Commented out the techcrunch .flv download since it no longer functions, fixed the multiple results xpaths
This commit is contained in:
parent
4d1081be1a
commit
1e2a6f5473
|
@ -2,13 +2,13 @@
|
||||||
"translatorID":"d3b1d34c-f8a1-43bb-9dd6-27aa6403b217",
|
"translatorID":"d3b1d34c-f8a1-43bb-9dd6-27aa6403b217",
|
||||||
"translatorType":4,
|
"translatorType":4,
|
||||||
"label":"YouTube",
|
"label":"YouTube",
|
||||||
"creator":"Sean Takats and Michael Berkowitz",
|
"creator":"Sean Takats and Michael Berkowitz and Matt Burton",
|
||||||
"target":"https?://[^/]*youtube\\.com\\/",
|
"target":"https?://[^/]*youtube\\.com\\/",
|
||||||
"minVersion":"1.0.0rc4",
|
"minVersion":"1.0.0rc4",
|
||||||
"maxVersion":"",
|
"maxVersion":"",
|
||||||
"priority":100,
|
"priority":100,
|
||||||
"inRepository":true,
|
"inRepository":true,
|
||||||
"lastUpdated":"2009-01-08 08:19:07"
|
"lastUpdated":"2009-02-21 18:19:07"
|
||||||
}
|
}
|
||||||
|
|
||||||
function detectWeb(doc, url){
|
function detectWeb(doc, url){
|
||||||
|
@ -17,23 +17,26 @@ function detectWeb(doc, url){
|
||||||
if (prefix == 'x') return namespace; else return null;
|
if (prefix == 'x') return namespace; else return null;
|
||||||
} : null;
|
} : null;
|
||||||
|
|
||||||
|
|
||||||
var xpath = '//input[@type="hidden" and @name="video_id"]';
|
var xpath = '//input[@type="hidden" and @name="video_id"]';
|
||||||
if(doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
if(doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
|
||||||
return "videoRecording";
|
return "videoRecording";
|
||||||
}
|
}
|
||||||
if (doc.evaluate('//div[@class="vtitle"]/a[@class="vtitlelink" and contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
//Search results
|
||||||
|
if (doc.evaluate('//div[@class="video-long-title"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
return "multiple";
|
return "multiple";
|
||||||
}
|
}
|
||||||
if (doc.evaluate('//div[starts-with(@class, "vtitle")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
//playlists
|
||||||
|
if (doc.evaluate('//div[starts-with(@class, "title")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
return "multiple";
|
return "multiple";
|
||||||
}
|
}
|
||||||
|
// still used?
|
||||||
if (doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
if (doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
return "multiple";
|
return "multiple";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function doWeb(doc, url){
|
function doWeb(doc, url){
|
||||||
var namespace = doc.documentElement.namespaceURI;
|
var namespace = doc.documentElement.namespaceURI;
|
||||||
var nsResolver = namespace ? function(prefix) {
|
var nsResolver = namespace ? function(prefix) {
|
||||||
|
@ -54,13 +57,16 @@ function doWeb(doc, url){
|
||||||
// multiple videos
|
// multiple videos
|
||||||
var items = new Object();
|
var items = new Object();
|
||||||
var videoRe = /\/watch\?v=([a-zA-Z0-9-_]+)/;
|
var videoRe = /\/watch\?v=([a-zA-Z0-9-_]+)/;
|
||||||
// search results
|
// search results and community/user pages
|
||||||
if (elmt = doc.evaluate('//div[@class="vtitle"]/a[@class="vtitlelink" and contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
if (elmt = doc.evaluate('//div[@class="video-long-title"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
elmts = doc.evaluate('//div[@class="vtitle"]/a[@class="vtitlelink" and contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
elmts = doc.evaluate('//div[@class="video-long-title"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||||
// categories and community pages and user pages and browse pages
|
}
|
||||||
} else if (doc.evaluate('//div[starts-with(@class, "vtitle")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
// playlists
|
||||||
elmts = doc.evaluate('//div[starts-with(@class, "vtitle")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
else if (doc.evaluate('//div[starts-with(@class, "title")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
} else if (doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
elmts = doc.evaluate('//div[starts-with(@class, "title")]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||||
|
}
|
||||||
|
// still used?
|
||||||
|
else if (doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()){
|
||||||
elmts = doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
elmts = doc.evaluate('//div[@class="vltitle"]/div[@class="vlshortTitle"]/a[contains(@href, "/watch?v=")]', doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||||
}
|
}
|
||||||
while (elmt = elmts.iterateNext()){
|
while (elmt = elmts.iterateNext()){
|
||||||
|
@ -103,7 +109,7 @@ function getData(ids, host){
|
||||||
var title = "";
|
var title = "";
|
||||||
var title = xml..media_title[0].text().toString();
|
var title = xml..media_title[0].text().toString();
|
||||||
if (xml..media_title.length()){
|
if (xml..media_title.length()){
|
||||||
var title = Zotero.Utilities.cleanString(xml..media_title[0].text().toString());
|
var title = Zotero.Utilities.trimInternal(xml..media_title[0].text().toString());
|
||||||
if (title == ""){
|
if (title == ""){
|
||||||
title = " ";
|
title = " ";
|
||||||
}
|
}
|
||||||
|
@ -136,9 +142,10 @@ function getData(ids, host){
|
||||||
if (xml..media_description.length()){
|
if (xml..media_description.length()){
|
||||||
newItem.abstractNote = xml..media_description[0].text().toString();
|
newItem.abstractNote = xml..media_description[0].text().toString();
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
//temporary fix for downloads using techcrunch
|
//temporary fix for downloads using techcrunch
|
||||||
var techcrunchurl = "http://www.techcrunch.com/ytdownload3.php?url="+encodeURIComponent(newItem.url)+"&submit=Get+Video";
|
var techcrunchurl = "http://www.techcrunch.com/ytdownload3.php?url="+encodeURIComponent(newItem.url)+"&submit=Get+Video";
|
||||||
|
Zotero.debug(techcrunchurl);
|
||||||
Zotero.Utilities.HTTP.doGet(techcrunchurl, function(text) {
|
Zotero.Utilities.HTTP.doGet(techcrunchurl, function(text) {
|
||||||
var flv = text.match(/HREF='([^']+)'/);
|
var flv = text.match(/HREF='([^']+)'/);
|
||||||
if (flv[1]){
|
if (flv[1]){
|
||||||
|
@ -153,7 +160,9 @@ function getData(ids, host){
|
||||||
}
|
}
|
||||||
newItem.complete();
|
newItem.complete();
|
||||||
}, function() {Zotero.done();});
|
}, function() {Zotero.done();});
|
||||||
|
*/
|
||||||
|
newItem.complete();
|
||||||
|
Zotero.done();
|
||||||
});
|
});
|
||||||
Zotero.wait();
|
Zotero.wait();
|
||||||
}
|
}
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user