slackbuilds_ponce/multimedia/xvst/patches/myvideo.patch
Larry Hajali e6e50645a6 multimedia/xvst: Updated for version 2.5.
Now built with qt5

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
2014-01-07 11:13:06 -06:00

364 lines
14 KiB
Diff

Update myvideo plugin.
Index: xvst-2.4.1/resources/services/myvideo/myvideo.js
===================================================================
--- xvst-2.4.1.orig/resources/services/myvideo/myvideo.js 2011-10-15 22:31:29.502370150 +0200
+++ xvst-2.4.1/resources/services/myvideo/myvideo.js 2011-10-15 22:31:42.338370040 +0200
@@ -1,179 +1,179 @@
-/*
-*
-* This file is part of xVideoServiceThief,
-* an open-source cross-platform Video service download
-*
-* Copyright (C) 2007 - 2009 Xesc & Technology
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with xVideoServiceThief. If not, see <http://www.gnu.org/licenses/>.
-*
-* Contact e-mail: Xesc <xeskuu.xvst@gmail.com>
-* Program URL : http://xviservicethief.sourceforge.net/
-*
-*/
-
-function RegistVideoService()
-{
- this.version = "2.0.0";
- this.minVersion = "2.0.0a";
- this.author = "Xesc & Technology 2009";
- this.website = "http://www.myvideo.de/";
- this.ID = "myvideo.de";
- this.caption = "MyVideo";
- this.adultContent = false;
- this.musicSite = false;
-}
-
-function getVideoInformation(url)
-{
- const URL_FLV = "%1/%2.flv";
- // video information
- var result = new VideoDefinition();
- // download webpage
- var http = new Http();
- var html = http.downloadWebpage(url);
- // get the flv url and params
- var path = copyBetween(html, "<link rel='image_src' href='", "/thumbs");
- var vidId = copyBetween(html, path + "/thumbs/", "_");
- // get the video title
- result.title = copyBetween(html, "entry-title'>", "</a>");
- // build final url
- result.URL = strFormat(URL_FLV, path, vidId);
- // get cookies
- result.cookies = http.getCookies("|");
- // return the video information
- return result;
-}
-
-function searchVideos(keyWord, pageIndex)
-{
- const URL_SEARCH = "http://www.myvideo.de/Videos_A-Z?lpage=%2&searchWord=%1&searchOrder=0";
- const HTML_SEARCH_START = "<table class='body sCenter vl_newMargin'>"; //'<div class="lBox lLeftBox globalBxBorder globalBx video_list">';
- const HTML_SEARCH_FINISH = '</table>'; //"</body>";
- const HTML_SEARCH_SEPARATOR = "<td class='body sTLeft hslice entry-content vCont' id='slice_";
- // replace all spaces for "+"
- keyWord = strReplace(keyWord, " ", "+");
- // init search results object
- var searchResults = new SearchResults();
- // init http object
- var http = new Http();
- var html = http.downloadWebpage(strFormat(URL_SEARCH, keyWord, pageIndex, searchResults.getUserLanguage()));
- // get the search summary
- var tmp = copyBetween(html, '<td> Dein Ergebnis', '</td>');
- var summary = "Dein Ergebnis" + copyBetween(tmp, "<span class='sWord'>", "'");
- var tmp = copyBetween(html, "<span class='pView pnPages'>", "</span>");
- var summary = summary + " " + tmp
- var tmp = copyBetween(html, "<span class='pView pnResults'>", "</span>");
- var summary = summary + " " + tmp
- searchResults.setSummary(summary);
- // get results html block
- var htmlResults = copyBetween(html, HTML_SEARCH_START, HTML_SEARCH_FINISH);
- // if we found some results then...
- if (htmlResults != "")
- {
- var block = "";
- // iterate over results
- while ((block = copyBetween(htmlResults, HTML_SEARCH_SEPARATOR, HTML_SEARCH_SEPARATOR)) != "")
- {
- parseResultItem(searchResults, block);
- htmlResults = strRemove(htmlResults, 0, block.toString().length);
- }
- // get last result
- parseResultItem(searchResults, htmlResults);
- }
- // return search results
- return searchResults;
-}
-
-function parseResultItem(searchResults, html)
-{
- const VIDEO_URL = "http://www.myvideo.de";
- // vars
- var tmp, videoUrl, imageUrl, title, description, duration, rating;
- // get title and image url
- tmp = copyBetween(html, "<div class='vThumb'>", '</div>') ;
- title = copyBetween(tmp, "title='", "'");
- imageUrl = copyBetween(tmp, "src='", "'");
- // get video url
- videoUrl = VIDEO_URL + copyBetween(tmp, "href='", "'");
- //if (strIndexOf(imageUrl, "default.jpg") == -1) // if is not a "default.jpg"...
- // imageUrl = copyBetween(tmp, 'thumb="', '"');
- // get video description
- tmp = copyBetween(html, "<div class='sCenter vTitle'>", '</div>') ;
- description = copyBetween(tmp, "<span class='hidden'>", '</span>');
- // get video duration
- tmp = copyBetween(html, ' Lnge ', '/span>');
- duration = convertToSeconds(copyBetween(tmp, "> ", '<'));
- // get rating
- rating = getrating(copyBetween(html, 'ratingBox', '</div>'));
- // add to results list
- searchResults.addSearchResult(videoUrl, imageUrl, title, description, duration, rating);
-}
-
-function getrating(text)
-{
- var rating = 0
- var i = 1
- while (i < 6)
- {
- var part = getToken(text, '<img',i);
- if (strIndexOf(part,"m_star_red_0.gif") != -1)
- {
- rating = rating + 1
- }
- if (strIndexOf(part,"m_star_half_0.gif") != -1)
- {
- rating = rating + 0.5
- }
- i++
- }
- return rating;
-}
-
-function convertToSeconds(text)
-{
- // how many ":" exists?
- var count = getTokenCount(text, ":");
- // get mins and seconds
- var h = new Number(h = count == 3 ? getToken(text, ":", 0) * 3600 : 0);
- var m = new Number(getToken(text, ":", count - 2) * 60);
- var s = new Number(getToken(text, ":", count - 1));
- // convert h:m:s to seconds
- return h + m + s;
-}
-
-function getVideoServiceIcon()
-{
- return new Array(
- 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x03,0x00,0x00,0x00,0x28,0x2d,0x0f,
- 0x53,0x00,0x00,0x00,0x66,0x50,0x4c,0x54,0x45,0x3d,0x88,0xe5,0x49,0x8f,0xe7,0x55,
- 0x97,0xe8,0x61,0x9e,0xea,0x62,0x9e,0xea,0x6e,0xa6,0xec,0x7a,0xad,0xed,0x85,0xb5,
- 0xee,0x86,0xb5,0xef,0x92,0xbc,0xf0,0x9e,0xc3,0xf2,0x9e,0xc4,0xf2,0xaa,0xcb,0xf4,
- 0xb6,0xd2,0xf5,0xc2,0xda,0xf7,0xce,0xe1,0xf8,0xda,0xe9,0xfa,0xdb,0xe9,0xfa,0xe7,
- 0xf0,0xfc,0xf3,0xf8,0xfd,0xff,0x66,0x00,0xff,0x70,0x10,0xff,0x79,0x20,0xff,0x8c,
- 0x40,0xff,0x96,0x50,0xff,0x9f,0x60,0xff,0xb3,0x80,0xff,0xbc,0x8f,0xff,0xc6,0x9f,
- 0xff,0xcf,0xaf,0xff,0xd9,0xbf,0xff,0xec,0xe0,0xff,0xf5,0xef,0xff,0xff,0xff,0x48,
- 0xd7,0xaa,0x42,0x00,0x00,0x00,0x8c,0x49,0x44,0x41,0x54,0x18,0x19,0x05,0xc1,0x09,
- 0x42,0xc2,0x30,0x14,0x05,0xc0,0x17,0x4a,0x2b,0x01,0x0a,0x4a,0x3e,0x54,0x71,0x9d,
- 0xfb,0x5f,0xd2,0x99,0x60,0xf4,0x96,0x76,0x1c,0x40,0x18,0xfb,0xec,0xfa,0x69,0xda,
- 0x0f,0x10,0x96,0x2c,0xe3,0x36,0xac,0x0b,0x88,0xd7,0xec,0xc6,0x5b,0x47,0xbf,0x42,
- 0xf4,0x9c,0x2d,0xc3,0xb7,0x71,0x80,0x98,0x73,0x33,0xb3,0x3d,0x7e,0x4e,0x10,0x2d,
- 0xec,0xd8,0xaa,0xde,0x7f,0x11,0x09,0xad,0xdb,0xaa,0xea,0xfe,0x49,0x24,0xf4,0xd8,
- 0xaa,0xaa,0xea,0x43,0xcc,0xb9,0x19,0x93,0xad,0xaa,0x1e,0x5f,0xc4,0x21,0x2b,0x6c,
- 0x75,0x7f,0x42,0xac,0x99,0x61,0x7b,0xfe,0xbd,0x40,0x8c,0x96,0x0b,0x38,0x1f,0x21,
- 0x9c,0xd3,0x2e,0x58,0xdb,0x80,0xe0,0x90,0x4c,0xf3,0x94,0x0b,0x08,0x1c,0x5b,0xb2,
- 0xbf,0x02,0xff,0xae,0x67,0x16,0x49,0x16,0x8a,0x4e,0x0f,0x00,0x00,0x00,0x00,0x49,
- 0x45,0x4e,0x44,0xae,0x42,0x60,0x82);
-}
+/*
+*
+* This file is part of xVideoServiceThief,
+* an open-source cross-platform Video service download
+*
+* Copyright (C) 2007 - 2009 Xesc & Technology
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with xVideoServiceThief. If not, see <http://www.gnu.org/licenses/>.
+*
+* Contact e-mail: Xesc <xeskuu.xvst@gmail.com>
+* Program URL : http://xviservicethief.sourceforge.net/
+*
+*/
+
+function RegistVideoService()
+{
+ this.version = "2.0.1";
+ this.minVersion = "2.0.0a";
+ this.author = "Xesc & Technology 2009";
+ this.website = "http://www.myvideo.de/";
+ this.ID = "myvideo.de";
+ this.caption = "MyVideo";
+ this.adultContent = false;
+ this.musicSite = false;
+}
+
+function getVideoInformation(url)
+{
+ const URL_FLV = "%1/%2.flv";
+ // video information
+ var result = new VideoDefinition();
+ // download webpage
+ var http = new Http();
+ var html = http.downloadWebpage(url);
+ // get the flv url and params
+ var path = copyBetween(html, "<link rel='image_src' href='", "/thumbs");
+ var vidId = copyBetween(html, path + "/thumbs/", "_");
+ // get the video title
+ result.title = copyBetween(html, "<h1 class='globalHd'>", "</h1>");
+ // build final url
+ result.URL = strFormat(URL_FLV, path, vidId);
+ // get cookies
+ result.cookies = http.getCookies("|");
+ // return the video information
+ return result;
+}
+
+function searchVideos(keyWord, pageIndex)
+{
+ const URL_SEARCH = "http://www.myvideo.de/Videos_A-Z?lpage=%2&searchWord=%1&searchOrder=0";
+ const HTML_SEARCH_START = "<table class='body sCenter vl_newMargin'>"; //'<div class="lBox lLeftBox globalBxBorder globalBx video_list">';
+ const HTML_SEARCH_FINISH = '</table>'; //"</body>";
+ const HTML_SEARCH_SEPARATOR = "<td class='body sTLeft hslice entry-content vCont' id='slice_";
+ // replace all spaces for "+"
+ keyWord = strReplace(keyWord, " ", "+");
+ // init search results object
+ var searchResults = new SearchResults();
+ // init http object
+ var http = new Http();
+ var html = http.downloadWebpage(strFormat(URL_SEARCH, keyWord, pageIndex, searchResults.getUserLanguage()));
+ // get the search summary
+ var tmp = copyBetween(html, '<td> Dein Ergebnis', '</td>');
+ var summary = "Dein Ergebnis" + copyBetween(tmp, "<span class='sWord'>", "'");
+ var tmp = copyBetween(html, "<span class='pView pnPages'>", "</span>");
+ var summary = summary + " " + tmp
+ var tmp = copyBetween(html, "<span class='pView pnResults'>", "</span>");
+ var summary = summary + " " + tmp
+ searchResults.setSummary(summary);
+ // get results html block
+ var htmlResults = copyBetween(html, HTML_SEARCH_START, HTML_SEARCH_FINISH);
+ // if we found some results then...
+ if (htmlResults != "")
+ {
+ var block = "";
+ // iterate over results
+ while ((block = copyBetween(htmlResults, HTML_SEARCH_SEPARATOR, HTML_SEARCH_SEPARATOR)) != "")
+ {
+ parseResultItem(searchResults, block);
+ htmlResults = strRemove(htmlResults, 0, block.toString().length);
+ }
+ // get last result
+ parseResultItem(searchResults, htmlResults);
+ }
+ // return search results
+ return searchResults;
+}
+
+function parseResultItem(searchResults, html)
+{
+ const VIDEO_URL = "http://www.myvideo.de";
+ // vars
+ var tmp, videoUrl, imageUrl, title, description, duration, rating;
+ // get title and image url
+ tmp = copyBetween(html, "<div class='vThumb'>", '</div>') ;
+ title = copyBetween(tmp, "title='", "'");
+ imageUrl = copyBetween(tmp, "src='", "'");
+ // get video url
+ videoUrl = VIDEO_URL + copyBetween(tmp, "href='", "'");
+ //if (strIndexOf(imageUrl, "default.jpg") == -1) // if is not a "default.jpg"...
+ // imageUrl = copyBetween(tmp, 'thumb="', '"');
+ // get video description
+ tmp = copyBetween(html, "<div class='sCenter vTitle'>", '</div>') ;
+ description = copyBetween(tmp, "<span class='hidden'>", '</span>');
+ // get video duration
+ tmp = copyBetween(html, ' Lnge ', '/span>');
+ duration = convertToSeconds(copyBetween(tmp, "> ", '<'));
+ // get rating
+ rating = getrating(copyBetween(html, 'ratingBox', '</div>'));
+ // add to results list
+ searchResults.addSearchResult(videoUrl, imageUrl, title, description, duration, rating);
+}
+
+function getrating(text)
+{
+ var rating = 0
+ var i = 1
+ while (i < 6)
+ {
+ var part = getToken(text, '<img',i);
+ if (strIndexOf(part,"m_star_red_0.gif") != -1)
+ {
+ rating = rating + 1
+ }
+ if (strIndexOf(part,"m_star_half_0.gif") != -1)
+ {
+ rating = rating + 0.5
+ }
+ i++
+ }
+ return rating;
+}
+
+function convertToSeconds(text)
+{
+ // how many ":" exists?
+ var count = getTokenCount(text, ":");
+ // get mins and seconds
+ var h = new Number(h = count == 3 ? getToken(text, ":", 0) * 3600 : 0);
+ var m = new Number(getToken(text, ":", count - 2) * 60);
+ var s = new Number(getToken(text, ":", count - 1));
+ // convert h:m:s to seconds
+ return h + m + s;
+}
+
+function getVideoServiceIcon()
+{
+ return new Array(
+ 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
+ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x03,0x00,0x00,0x00,0x28,0x2d,0x0f,
+ 0x53,0x00,0x00,0x00,0x66,0x50,0x4c,0x54,0x45,0x3d,0x88,0xe5,0x49,0x8f,0xe7,0x55,
+ 0x97,0xe8,0x61,0x9e,0xea,0x62,0x9e,0xea,0x6e,0xa6,0xec,0x7a,0xad,0xed,0x85,0xb5,
+ 0xee,0x86,0xb5,0xef,0x92,0xbc,0xf0,0x9e,0xc3,0xf2,0x9e,0xc4,0xf2,0xaa,0xcb,0xf4,
+ 0xb6,0xd2,0xf5,0xc2,0xda,0xf7,0xce,0xe1,0xf8,0xda,0xe9,0xfa,0xdb,0xe9,0xfa,0xe7,
+ 0xf0,0xfc,0xf3,0xf8,0xfd,0xff,0x66,0x00,0xff,0x70,0x10,0xff,0x79,0x20,0xff,0x8c,
+ 0x40,0xff,0x96,0x50,0xff,0x9f,0x60,0xff,0xb3,0x80,0xff,0xbc,0x8f,0xff,0xc6,0x9f,
+ 0xff,0xcf,0xaf,0xff,0xd9,0xbf,0xff,0xec,0xe0,0xff,0xf5,0xef,0xff,0xff,0xff,0x48,
+ 0xd7,0xaa,0x42,0x00,0x00,0x00,0x8c,0x49,0x44,0x41,0x54,0x18,0x19,0x05,0xc1,0x09,
+ 0x42,0xc2,0x30,0x14,0x05,0xc0,0x17,0x4a,0x2b,0x01,0x0a,0x4a,0x3e,0x54,0x71,0x9d,
+ 0xfb,0x5f,0xd2,0x99,0x60,0xf4,0x96,0x76,0x1c,0x40,0x18,0xfb,0xec,0xfa,0x69,0xda,
+ 0x0f,0x10,0x96,0x2c,0xe3,0x36,0xac,0x0b,0x88,0xd7,0xec,0xc6,0x5b,0x47,0xbf,0x42,
+ 0xf4,0x9c,0x2d,0xc3,0xb7,0x71,0x80,0x98,0x73,0x33,0xb3,0x3d,0x7e,0x4e,0x10,0x2d,
+ 0xec,0xd8,0xaa,0xde,0x7f,0x11,0x09,0xad,0xdb,0xaa,0xea,0xfe,0x49,0x24,0xf4,0xd8,
+ 0xaa,0xaa,0xea,0x43,0xcc,0xb9,0x19,0x93,0xad,0xaa,0x1e,0x5f,0xc4,0x21,0x2b,0x6c,
+ 0x75,0x7f,0x42,0xac,0x99,0x61,0x7b,0xfe,0xbd,0x40,0x8c,0x96,0x0b,0x38,0x1f,0x21,
+ 0x9c,0xd3,0x2e,0x58,0xdb,0x80,0xe0,0x90,0x4c,0xf3,0x94,0x0b,0x08,0x1c,0x5b,0xb2,
+ 0xbf,0x02,0xff,0xae,0x67,0x16,0x49,0x16,0x8a,0x4e,0x0f,0x00,0x00,0x00,0x00,0x49,
+ 0x45,0x4e,0x44,0xae,0x42,0x60,0x82);
+}