Author: martinkg
Update of /cvs/free/rpms/xvst/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv1509/devel
Modified Files:
.cvsignore sources
Added Files:
beeg.patch chilloutzone.patch disable_update.patch
keezmovies.patch myvideo.patch sunporno.patch wat.tv.patch
xvst.desktop xvst.spec
Log Message:
beeg.patch:
beeg.js | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)
--- NEW FILE beeg.patch ---
New plugin.
Index: xvst-2.5/resources/services/beeg/beeg.js
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xvst-2.5/resources/services/beeg/beeg.js 2013-03-29 17:01:19.486267000 +0100
@@ -0,0 +1,122 @@
+/*
+*
+* 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(a)gmail.com>
+* Program URL :
http://xviservicethief.sourceforge.net/
+*
+*/
+
+function RegistVideoService()
+{
+ this.version = "3.1.0";
+ this.minVersion = "2.0.0a";
+ this.author = "Xesc & Technology 2009";
+ this.website = "http://www.beeg.com/";
+ this.ID = "beeg.com";
+ this.caption = "beeg.";
+ this.adultContent = true;
+ this.musicSite = false;
+}
+
+function getVideoInformation(url)
+{
+ // video information
+ var result = new VideoDefinition();
+ // download webpage
+ var http = new Http();
+ var html = http.downloadWebpage(url);
+ // get video title
+ result.title = copyBetween(html, "<title>",
"</title>");
+ // get the flv url
+ result.URL = copyBetween(html, "so.addVariable('file','",
"');");
+ if(result.URL == "") {
+ result.URL = copyBetween(html, "'file': '", "',");
+ }
+ // return the video information
+ return result;
+}
+
+function searchVideos(keyWord, pageIndex)
+{
+ const URL_SEARCH = "http://beeg.com/section/home/%1/";
+ const HTML_SEARCH_ID = 'var tumbid =[';
+ const HTML_SEARCH_ALT = 'var tumbalt =[';
+ const HTML_SEARCH_END = '];';
+ const RESULTS_PER_PAGE = 5;
+ var nCurrentPageIndex = 1;
+ var nResultsToSkip = (pageIndex - 1) * RESULTS_PER_PAGE ;
+ var nCurrentResults = 0;
+ // remember the first ID so if we find again we know we searched past the last site
+ var nFirstId = -1;
+ // init search results object
+ var searchResults = new SearchResults();
+ while(nCurrentResults < RESULTS_PER_PAGE) {
+ // init http object
+ var http = new Http();
+ var html = http.downloadWebpage(strFormat(URL_SEARCH, nCurrentPageIndex));
+ // did we reach the end?
+ if(strIndexOf(html, HTML_SEARCH_ID, 0, false) == -1) {
+ break;
+ }
+ var IDs = copyBetween(html, HTML_SEARCH_ID, HTML_SEARCH_END);
+ var Alts = copyBetween(html, HTML_SEARCH_ALT, HTML_SEARCH_END);
+ // if we found some results then...
+ if (IDs != "")
+ {
+ // the IDs and alt-texts are JavaScript arrays already
+ var IDblocks = eval('[' + IDs + ']');
+ var Altblocks = eval('[' + Alts + ']');
+ for (n = 0; n < IDblocks.length; n++) {
+ var title = Altblocks[n];
+ var videoURL = "http://beeg.com/" + IDblocks[n];
+ var imageURL = "http://cdn.anythumb.com/120x90/" + IDblocks[n] +
".jpg";
+ var imageId = IDblocks[n]
+ if(nFirstId == -1) {
+ nFirstId = imageId;
+ } else if(nFirstId == imageId) {
+ // we found the same imageId again. Stop the search.
+ return searchResults;
+ }
+ if(strIndexOf(title, keyWord, 0, false) != -1) {
+ //print('[' + nResultsToSkip + '][' + nCurrentResults + '] '
+ title);
+ if(nResultsToSkip > 0) {
+ nResultsToSkip--;
+ } else {
+ if( nCurrentResults < RESULTS_PER_PAGE ) {
+ searchResults.addSearchResult(videoURL, imageURL, title, title, 0, 0);
+ nCurrentResults++;
+ }
+ if( nCurrentResults >= RESULTS_PER_PAGE ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+ nCurrentPageIndex++;
+ }
+ // return search results
+ return searchResults;
+}
+
+function getVideoServiceIcon()
+{
+ return "http://beeg.com/favicon.ico";
+}
chilloutzone.patch:
chilloutzone.js | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
--- NEW FILE chilloutzone.patch ---
New plugin.
Index: xvst-2.4.1/resources/services/chilloutzone/chilloutzone.js
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xvst-2.4.1/resources/services/chilloutzone/chilloutzone.js 2011-10-15
22:40:55.982365314 +0200
@@ -0,0 +1,93 @@
+/*
+*
+* 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(a)gmail.com>
+* Program URL :
http://xviservicethief.sourceforge.net/
+*
+*/
+
+function RegistVideoService()
+{
+ this.version = "1.0.0";
+ this.minVersion = "2.0.0a";
+ this.author = "crapmaster & Xesc & Technology 2009";
+ this.website = "http://www.chilloutzone.net";
+ this.ID = "chilloutzone.net";
+ this.caption = "chilloutzone";
+ this.adultContent = false;
+ this.musicSite = false;
+}
+
+function getVideoInformation(url)
+{
+ // video information
+ var result = new VideoDefinition();
+ // download webpage
+ var http = new Http();
+ var html = http.downloadWebpage(url);
+ // get video title
+ result.title = copyBetween(html, '<h3
id="content-player-head">', '</h3>');
+ // get the xml url
+ var xmlUrl = copyBetween(html, 'var MOVIE_LOC_PLAIN = "',
'";');
+ // get url
+ result.URL=cleanUrl(xmlUrl);
+ // return the video information
+ return result;
+}
+
+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,0x06,0x00,0x00,0x00,0x1f,0xf3,0xff,
+ 0x61,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xae,0xce,0x1c,0xe9,0x00,0x00,
+ 0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,
+ 0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,
+ 0x01,0x00,0x9a,0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xdb,0x0a,
+ 0x08,0x15,0x29,0x04,0x62,0xef,0x4c,0x6b,0x00,0x00,0x01,0xa6,0x49,0x44,0x41,0x54,
+ 0x38,0xcb,0xa5,0x93,0xbf,0x8a,0x14,0x41,0x10,0xc6,0x7f,0x5d,0xbd,0x3b,0x7f,0xd6,
+ 0xd3,0xf8,0xde,0x40,0x0d,0x14,0x0d,0x2e,0x31,0xd0,0xc8,0xc4,0xc0,0xc4,0x40,0x0f,
+ 0x8c,0x7d,0x81,0x0b,0x04,0xdf,0x41,0xd4,0xa7,0x38,0xd0,0xc8,0xc0,0x03,0x23,0x65,
+ 0x40,0xbd,0xbd,0x45,0x91,0x3d,0xc4,0x54,0x10,0xc5,0xc4,0x3d,0x0e,0x95,0xfd,0x33,
+ 0xdd,0x53,0x06,0xd5,0xbb,0x3b,0x2b,0x87,0x9c,0x58,0xd0,0x74,0x4d,0x57,0xd7,0x57,
+ 0x5f,0x7d,0x3d,0x05,0xff,0x69,0x0e,0x40,0x0f,0x6f,0x29,0x1a,0x20,0x44,0x08,0x0d,
+ 0xc4,0xe4,0xd7,0x11,0xea,0x90,0xd6,0x1f,0xfe,0xd7,0x12,0x77,0x7b,0xd7,0x75,0x00,
+ 0x88,0x23,0xb8,0xf3,0x02,0xbc,0x40,0x57,0x20,0x13,0xe8,0x38,0xc8,0x05,0xba,0x1e,
+ 0x72,0x67,0x67,0x65,0xfa,0x2e,0x84,0x77,0xcf,0xc7,0x54,0x55,0xa5,0x06,0x50,0x87,
+ 0x94,0xec,0xe0,0xdc,0x15,0xf0,0x0e,0x3e,0xbd,0xb2,0xa4,0xdc,0x41,0xee,0x0d,0x2c,
+ 0xb7,0x64,0x0a,0x4f,0x18,0x47,0x00,0xc4,0x00,0x62,0xba,0xec,0x6d,0xdf,0xda,0x81,
+ 0xeb,0xf7,0xe0,0xec,0x65,0x28,0x3b,0x50,0x7a,0x28,0x3c,0xf4,0x24,0xf9,0x42,0xfd,
+ 0xab,0x01,0x20,0x31,0x68,0xac,0x42,0x96,0x58,0x00,0x5c,0xbd,0x6b,0xfb,0xeb,0xfb,
+ 0xf0,0x6d,0x17,0x46,0x7d,0xbb,0x53,0x18,0x9b,0x30,0x6d,0x90,0x25,0x40,0x58,0xd2,
+ 0xec,0xca,0xaa,0xcc,0x97,0xb6,0x6c,0xdf,0x7f,0x04,0x07,0x7b,0xf0,0x63,0x60,0x00,
+ 0x13,0x25,0x5b,0x00,0xcc,0xa2,0xf5,0x36,0xaf,0xd0,0xb6,0xf7,0x0f,0xe1,0x7b,0x1f,
+ 0x0e,0x07,0x8b,0xfe,0xc9,0x85,0x38,0x6d,0xb7,0x30,0x0b,0x16,0x28,0x92,0x06,0x00,
+ 0x6f,0x1f,0x58,0xe2,0x68,0xcf,0xce,0xe7,0x3a,0x24,0x51,0xeb,0x89,0x52,0xae,0x30,
+ 0xe8,0x79,0xc8,0x12,0xc0,0xb3,0x9b,0x70,0xd0,0xb7,0xb6,0x7a,0x7e,0xa9,0xfe,0xfc,
+ 0x25,0x72,0x21,0xcc,0x56,0x18,0xd4,0x89,0x81,0x58,0x9f,0x99,0x98,0xfa,0x99,0x4b,
+ 0x6f,0x3f,0x4f,0x4e,0x2b,0x83,0x66,0xa6,0x2d,0x80,0x2f,0x27,0x18,0xbe,0xf9,0x4c,
+ 0x3d,0x6e,0x88,0x13,0x08,0x53,0x65,0x6d,0xdd,0x73,0xfe,0xc6,0x19,0x38,0xf5,0x73,
+ 0x51,0xfd,0xe9,0xb5,0x8f,0xc4,0x5a,0x69,0x6a,0x45,0x9b,0xd6,0xaf,0xfc,0x37,0xd3,
+ 0xed,0x0d,0xe5,0xf4,0x14,0x4e,0x0a,0x4f,0x2e,0x0e,0x59,0xdf,0x79,0xf9,0xef,0x03,
+ 0xa3,0xdb,0x1b,0xaa,0x1f,0x2e,0xe8,0xe3,0x35,0xd1,0xaa,0xaa,0xb4,0x1d,0x93,0x63,
+ 0x4d,0xdc,0xe6,0xc0,0x31,0xec,0x1e,0x19,0x93,0x63,0x8f,0xed,0xe6,0xc0,0x1d,0x45,
+ 0xff,0x37,0x2f,0x00,0x9b,0x4b,0xdd,0xfa,0x20,0xe7,0x00,0x00,0x00,0x00,0x49,0x45,
+ 0x4e,0x44,0xae,0x42,0x60,0x82);
+}
\ No newline at end of file
disable_update.patch:
options.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- NEW FILE disable_update.patch ---
The update will not work anyway.
Index: xvst-2.5.1/src/options.cpp
===================================================================
--- xvst-2.5.1.orig/src/options.cpp 2014-01-10 20:22:19.441638438 +0100
+++ xvst-2.5.1/src/options.cpp 2014-01-10 20:22:19.437638438 +0100
@@ -355,9 +355,9 @@
languageFile = LanguageManager::getDefaultUserLanguage(getLanguagesPath()); //
"english_uk.language";
- installAutomaticallyUpdates = true;
+ installAutomaticallyUpdates = false;
lastUpdate = QDate(2007, 01, 01);
- checkForUpdatesOnStartup = true;
+ checkForUpdatesOnStartup = false;
checkForUpdatesEvery = 1;
displayBugReport = true;
keezmovies.patch:
keezmovies.js | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 98 insertions(+), 7 deletions(-)
--- NEW FILE keezmovies.patch ---
# update plugin
Index: xvst-2.5.1/resources/services/keezmovies/keezmovies.js
===================================================================
--- xvst-2.5.1.orig/resources/services/keezmovies/keezmovies.js 2014-01-10
20:28:16.225627825 +0100
+++ xvst-2.5.1/resources/services/keezmovies/keezmovies.js 2014-01-10 20:30:28.293623896
+0100
@@ -23,9 +23,8 @@
*
*/
-function RegistVideoService()
-{
- this.version = "1.0.4a";
+function RegistVideoService() {
+ this.version = "1.0.5";
this.minVersion = "2.0.0a";
this.author = "Xesc & Technology 2014";
this.website = "http://www.keezmovies.com/";
@@ -35,8 +34,7 @@
this.musicSite = false;
}
-function getVideoInformation(url)
-{
+function getVideoInformation(url) {
// video information
var result = new VideoDefinition();
// download webpage
@@ -53,8 +51,101 @@
return result;
}
-function getVideoServiceIcon()
-{
+function searchVideos(keyWord, pageIndex) {
+ const URL_SEARCH =
"http://www.keezmovies.com/video?search=%1&page=%2";
+ const HTML_SEARCH_START = '<div class="pag2Block float-left"
style="width:804px;">';
+ const HTML_SEARCH_FINISH = '<div class="gray-border block
friend-row">';
+ const HTML_SEARCH_SEPARATOR = "</li>";
+
+ // 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));
+
+ var noResIx = strIndexOf(html, "did not match any videos");
+ if (noResIx == -1) {
+
+ // get the search summary
+ var summary = copyBetween(html, '<h2 class="title
float-left">', '</h2>');
+ 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 blocks = splitString(htmlResults, HTML_SEARCH_SEPARATOR);
+ for (n = 0; n < blocks.length-1; n++)
+ parseResultItem(searchResults, blocks[n]);
+ }
+ }
+
+ // return search results
+ return searchResults;
+}
+
+function cleanSummary(summary) {
+ // remove all "\n"
+ summary = strReplace(summary, "\n", "");
+
+ // remove unused tags
+ summary = strReplace(summary, "</span>", '');
+ summary = strReplace(summary, "<span>", '');
+ summary = strReplace(summary, "<em>", '');
+ summary = strReplace(summary, "</em>", '');
+
+ // remove "
+ summary = strReplace(summary, """, "");
+
+ // return cleanned summary
+ return summary;
+}
+
+function parseResultItem(searchResults, html) {
+ // vars
+ var tmp, videoUrl, imageUrl, title, description, duration, rating;
+
+ // get video url
+ videoUrl = copyBetween(html, 'href="', '"');
+
+ // get title and image url
+ tmp= copyBetween(html, '<img', '/>');
+ title = copyBetween(tmp, 'alt="', '"');
+ imageUrl = copyBetween(tmp, 'src="', '"');
+
+ // get video description
+ description = "";
+
+ // get video duration
+ tmp = copyBetween(html, '<var class="duration">',
'</var>');
+ duration = convertToSeconds(tmp);
+
+ // get rating
+ rating = copyBetween(html, '<strong >', '%</strong>')/10;
+
+ // add to results list
+ searchResults.addSearchResult(videoUrl, imageUrl, title, description, duration,
rating);
+}
+
+function convertToSeconds(text) {
+ // how many ":" exists?
+ var count = getTokenCount(text, ":");
+
+ // get mins and seconds
+ var h = new Number(h = count == 3 ? getToken(tmp2, ":", 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,
myvideo.patch:
myvideo.js | 358 ++++++++++++++++++++++++++++++-------------------------------
1 file changed, 179 insertions(+), 179 deletions(-)
--- NEW FILE myvideo.patch ---
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(a)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(a)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);
+}
sunporno.patch:
sunporno.js | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 111 insertions(+)
--- NEW FILE sunporno.patch ---
New plugin.
Index: xvst-2.4.1/resources/services/sunporno/sunporno.js
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xvst-2.4.1/resources/services/sunporno/sunporno.js 2011-10-15 22:37:36.742367015
+0200
@@ -0,0 +1,111 @@
+/*
+*
+* This file is part of xVideoServiceThief,
+* an open-source cross-platform Video service download
+*
+* Copyright (C) 2007 - 2011 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(a)gmail.com>
+* Program URL :
http://xviservicethief.sourceforge.net/
+*
+*/
+
+function RegistVideoService()
+{
+ this.version = "1.0.0";
+ this.minVersion = "2.0.0a";
+ this.author = "crapmaster & Xesc & Technology 2011";
+ this.website = "http://www.sunporno.com/";
+ this.ID = "sunporno.com";
+ this.caption = "Sunporno";
+ this.adultContent = true;
+ this.musicSite = false;
+}
+
+function getVideoInformation(url)
+{
+ // video information
+ var result = new VideoDefinition();
+ // download webpage
+ var http = new Http();
+ var html = http.downloadWebpage(url);
+ // get video title
+ result.title = copyBetween(html, "<title>",
"</title>");
+ // get the xml url
+ var tmpUrl = copyBetween(html, "s1.addVariable('file', '",
"');");
+ // get url
+ result.URL=cleanUrl(tmpUrl);
+ // return the video information
+ return result;
+}
+
+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,0x06,0x00,0x00,0x00,0x1f,0xf3,0xff,
+ 0x61,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xae,0xce,0x1c,0xe9,0x00,0x00,
+ 0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,
+ 0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,
+ 0x01,0x00,0x9a,0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xdb,0x0a,
+ 0x09,0x07,0x18,0x05,0x74,0xab,0x6b,0x34,0x00,0x00,0x02,0xc4,0x49,0x44,0x41,0x54,
+ 0x38,0xcb,0x4d,0x93,0xcf,0x6f,0x94,0x65,0x10,0xc7,0x3f,0x33,0xef,0xb3,0xfb,0xee,
+ 0xbe,0xdd,0x52,0xb3,0xb4,0x21,0x24,0x52,0x63,0x02,0xe5,0x87,0x07,0x13,0xb0,0x17,
+ 0x0f,0x10,0x13,0xbd,0xd4,0xe0,0x45,0x4f,0x1e,0x7a,0xd1,0x9b,0xff,0x85,0x47,0x2e,
+ 0x9e,0xb8,0x90,0x9e,0x34,0xd1,0x93,0x81,0xd0,0xd8,0x13,0x07,0x16,0x3c,0x10,0x10,
+ 0x09,0x89,0x31,0x29,0xd4,0x06,0x6d,0x17,0x0b,0x4b,0xda,0xa5,0x76,0x7f,0x3e,0xef,
+ 0x3c,0xe3,0x61,0x6b,0xe2,0x1c,0x66,0xbe,0x99,0xef,0xe7,0x7b,0x9a,0x0c,0x23,0x77,
+ 0xf7,0x91,0x79,0xf2,0xc3,0x4a,0xee,0x6e,0xee,0xc3,0x76,0xc7,0xaf,0x2f,0x2e,0xfb,
+ 0xf5,0xc5,0x65,0x1f,0xb6,0x3b,0xee,0x76,0xe8,0xfd,0x37,0x46,0xe6,0x23,0x77,0xd7,
+ 0xd2,0x4b,0x08,0x8a,0xe1,0x60,0x89,0x52,0x20,0x25,0x63,0xb7,0xdb,0x25,0xf6,0x87,
+ 0xc4,0xfe,0x90,0xdd,0x6e,0x97,0x94,0x8c,0x52,0x00,0x4b,0x13,0x36,0x28,0xa5,0x97,
+ 0x68,0x41,0xc0,0xad,0x24,0x24,0x88,0xdb,0xaf,0x20,0x19,0x1e,0x32,0x24,0x1a,0x0d,
+ 0x53,0x1a,0xa6,0x48,0x9c,0xec,0x48,0x46,0xdc,0x7e,0x45,0x48,0xe0,0x56,0x52,0x10,
+ 0x50,0x00,0x11,0xa1,0xd3,0x7a,0xc4,0xed,0x2b,0x2b,0x6c,0xdf,0xbc,0x8b,0x8f,0x23,
+ 0x21,0x04,0xa2,0x95,0x44,0x2b,0x09,0x21,0xe0,0xe3,0xc8,0xf6,0xcd,0xbb,0xdc,0xbe,
+ 0xb2,0x42,0xa7,0xf5,0x08,0x11,0x01,0x20,0x8c,0xdd,0xf0,0xdd,0x7d,0xee,0x5f,0xfd,
+ 0x81,0xec,0xf7,0x36,0x0f,0x7e,0xfb,0x83,0xe3,0xef,0xbf,0x4b,0x5e,0xaf,0x11,0x8b,
+ 0x0a,0x00,0x79,0xbd,0x86,0x75,0x0f,0x78,0xf0,0xcd,0x77,0x4c,0x77,0x06,0xdc,0x7f,
+ 0xb1,0xc7,0x87,0xef,0xbc,0x8d,0xcc,0x1e,0x41,0xab,0xae,0xb4,0x5b,0x0f,0x19,0xac,
+ 0x6f,0xe1,0x96,0x98,0x5f,0x38,0x89,0x99,0x11,0x63,0x24,0xa5,0x44,0x4a,0x89,0x18,
+ 0x23,0x66,0xc6,0xfc,0xc2,0x49,0xdc,0x12,0x83,0xf5,0x2d,0xda,0xad,0x87,0x54,0x5d,
+ 0x51,0x10,0x36,0xd7,0x7e,0xa6,0xe2,0x82,0x9d,0x68,0xf2,0xe6,0x67,0x1f,0x50,0xcc,
+ 0x36,0x91,0x22,0xa7,0x54,0x28,0x15,0xa4,0xc8,0x29,0x66,0x27,0x9e,0x9d,0x68,0x52,
+ 0xf1,0x49,0x06,0x84,0x30,0xcc,0x20,0xbe,0xdc,0x43,0x44,0xc8,0x8f,0xce,0xd0,0xbc,
+ 0x70,0x06,0x54,0xa9,0x1f,0x6b,0x72,0xfe,0x93,0x8f,0x00,0xa8,0x1f,0x6b,0x82,0x2a,
+ 0xcd,0x0b,0x67,0xc8,0x8f,0xce,0x30,0x78,0xd1,0x25,0xbe,0xdc,0x63,0x98,0x41,0x08,
+ 0xc0,0xd0,0x8d,0xaa,0x83,0x8a,0x90,0x15,0x39,0x28,0xe4,0x59,0xce,0xe9,0xaf,0xbf,
+ 0x00,0xc0,0x0f,0x5b,0x56,0xe4,0x13,0xc6,0x27,0x99,0x00,0x68,0x06,0xd4,0xa7,0x1b,
+ 0xa8,0x39,0xb2,0x3f,0x60,0xf0,0x78,0x13,0x13,0x90,0xe4,0x94,0x40,0xc9,0x44,0x9b,
+ 0xc0,0xe0,0xf1,0x26,0xb2,0x3f,0x40,0xcd,0xa9,0x4f,0x37,0xc8,0x00,0x95,0x04,0x73,
+ 0x8b,0xe7,0x18,0xa9,0xb3,0xd3,0x7e,0xce,0xb3,0x5b,0xf7,0x18,0x1d,0xf4,0x40,0x04,
+ 0x4d,0x09,0x4d,0x09,0x44,0x18,0x1d,0xf4,0x78,0x76,0xeb,0x1e,0x3b,0xed,0xe7,0x8c,
+ 0xd4,0x99,0x5b,0x3c,0x87,0x24,0xd0,0x81,0x26,0xce,0x2e,0x5d,0x22,0xaf,0xd7,0xa8,
+ 0xa2,0x6c,0xac,0xb6,0xd8,0xb8,0x76,0x83,0xde,0xd6,0x0e,0x2a,0x8a,0x8a,0xd2,0xdb,
+ 0xda,0x61,0xe3,0xda,0x0d,0x36,0x56,0x5b,0x54,0x51,0xf2,0x7a,0x8d,0xb3,0x4b,0x97,
+ 0x18,0x68,0x42,0x3c,0xba,0x53,0x46,0xfe,0x5a,0x59,0xe5,0x97,0xef,0x57,0xc9,0xfe,
+ 0x7e,0x8d,0x17,0x55,0x9a,0xe7,0x4f,0x93,0xba,0x3d,0x00,0xf4,0x8d,0x29,0x76,0x7f,
+ 0x5d,0x47,0xfa,0x63,0xec,0xf8,0x0c,0xef,0x7d,0x7e,0x99,0xf9,0x2f,0x2f,0x43,0xa8,
+ 0x20,0x7d,0x4f,0x2e,0x08,0xf2,0x4f,0x8f,0xa7,0x57,0x7f,0xe4,0xc9,0xda,0x1d,0x7c,
+ 0xbf,0x4f,0x4c,0x46,0x8d,0x0c,0x80,0x21,0x46,0x45,0x33,0xe4,0x48,0xc1,0xc2,0xd2,
+ 0x45,0x4e,0x7d,0xf5,0x29,0x3e,0x3d,0x85,0xe3,0x48,0xd7,0xdd,0x67,0xa2,0x61,0x95,
+ 0x0c,0xdd,0x3d,0xe0,0xc9,0xda,0x1d,0x9e,0x7e,0xfb,0x13,0xfe,0x67,0x87,0xfe,0x54,
+ 0x00,0xa0,0xe8,0x95,0xc8,0x5b,0x73,0x9c,0x5a,0xfe,0x98,0x85,0xa5,0x8b,0xa4,0x66,
+ 0x83,0x2c,0x1a,0xaf,0x2b,0x19,0xe2,0xe3,0xe4,0xa8,0x60,0xd9,0xe4,0x5c,0x02,0x64,
+ 0x0e,0x00,0x91,0x04,0x40,0x65,0xf2,0x32,0x98,0xfc,0x8f,0x31,0x20,0x39,0xff,0x02,
+ 0xd5,0x5f,0x8c,0x14,0xcf,0x39,0xc3,0xe2,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,
+ 0xae,0x42,0x60,0x82);
+}
wat.tv.patch:
wat.js | 65 ++++++++++++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 48 insertions(+), 17 deletions(-)
--- NEW FILE wat.tv.patch ---
# downgrade the version? xvst wants to install this "update". so make it happy.
Index: xvst-2.5.1/resources/services/wat/wat.js
===================================================================
--- xvst-2.5.1.orig/resources/services/wat/wat.js 2014-01-10 20:26:06.229631692 +0100
+++ xvst-2.5.1/resources/services/wat/wat.js 2014-01-10 20:47:15.165593944 +0100
@@ -3,7 +3,7 @@
* This file is part of xVideoServiceThief,
* an open-source cross-platform Video service download
*
-* Copyright (C) 2007 - 2014 Xesc & Technology
+* 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
@@ -25,9 +25,9 @@
function RegistVideoService()
{
- this.version = "1.0.4";
+ this.version = "1.0.2";
this.minVersion = "2.0.0a";
- this.author = "Xesc & Technology 2014";
+ this.author = "Xesc & Technology 2009";
this.website = "http://www.wat.tv/";
this.ID = "wat.tv";
this.caption = "Wat.tv";
@@ -45,7 +45,7 @@
var http = new Http();
var html = http.downloadWebpage(url);
// get video title
- result.title = copyBetween(html, "'title" content="',
'"');
+ result.title = copyBetween(html, "<h2 class=\"titre\">",
"</h2>");
// get video id
var vidId = copyBetween(html, 'id="media" value="',
'"');
// download video info
@@ -61,17 +61,48 @@
{
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,0x2a,0x50,0x4c,0x54,0x45,0xff,0xff,0xfd,0xff,0xc4,0xf6,0xff,
- 0x66,0xe2,0xff,0x86,0xea,0xff,0xec,0xfc,0xff,0x57,0xe2,0xff,0x00,0xcf,0xff,0xad,
- 0xef,0xff,0xfd,0xff,0xff,0x2c,0xd5,0xff,0x98,0xec,0xff,0x42,0xdb,0xff,0x76,0xe6,
- 0xff,0xd8,0xf6,0x42,0x91,0xbf,0xbc,0x00,0x00,0x00,0x69,0x49,0x44,0x41,0x54,0x78,
- 0xda,0x9d,0x8d,0xdb,0x0e,0xc0,0x20,0x08,0x43,0x51,0x2e,0x82,0xba,0xff,0xff,0xdd,
- 0x15,0xe2,0xb2,0x3d,0xaf,0x90,0xa6,0x1c,0x9b,0x48,0x3f,0xd4,0x3a,0xcb,0x93,0x85,
- 0x7b,0x23,0x35,0x1b,0xc8,0xee,0xb0,0x61,0xa6,0x00,0x01,0x20,0xbd,0x4b,0x81,0x38,
- 0x8d,0x69,0xc6,0x07,0xac,0x04,0xbe,0x0f,0x88,0x95,0x8d,0x4d,0x0e,0x57,0x27,0x86,
- 0x67,0xcd,0x26,0x12,0x2a,0x33,0x23,0x49,0xd8,0x57,0x42,0xd4,0x8a,0x84,0x96,0x8f,
- 0xfc,0xfd,0xda,0xb1,0x58,0x84,0x35,0x76,0xc3,0xe9,0x98,0xaf,0xde,0xf3,0x25,0x10,
- 0xd5,0xd6,0xdb,0x0d,0x8b,0x51,0x03,0x7a,0x88,0x11,0x0f,0x52,0x00,0x00,0x00,0x00,
- 0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82);
+ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x02,0x00,0x00,0x00,0x90,0x91,0x68,
+ 0x36,0x00,0x00,0x01,0x2f,0x69,0x43,0x43,0x50,0x49,0x43,0x43,0x20,0x50,0x72,0x6f,
+ 0x66,0x69,0x6c,0x65,0x00,0x00,0x78,0x01,0x63,0x60,0x60,0x32,0x70,0x74,0x71,0x72,
+ 0x65,0x12,0x60,0x60,0xc8,0xcd,0x2b,0x29,0x0a,0x72,0x77,0x52,0x88,0x88,0x8c,0x52,
+ 0x60,0xbf,0xc0,0xc0,0xc1,0xc0,0xcd,0x20,0xcc,0x60,0xcc,0x60,0x9d,0x98,0x5c,0x5c,
+ 0xe0,0x18,0x10,0xe0,0xc3,0x00,0x04,0x79,0xf9,0x79,0xa9,0x20,0x1a,0x15,0x7c,0xbb,
+ 0xc6,0xc0,0x08,0x12,0xb9,0xac,0x0b,0x32,0x0b,0x55,0x8e,0x20,0x8f,0x2b,0xb9,0xa0,
+ 0xa8,0x04,0xa8,0xea,0x0f,0x10,0x1b,0xa5,0xa4,0x16,0x27,0x33,0x30,0x30,0x1a,0x00,
+ 0xd9,0xd9,0xe5,0x25,0x05,0x40,0x71,0xc6,0x39,0x40,0xb6,0x48,0x52,0x36,0x98,0xbd,
+ 0x01,0xc4,0x2e,0x0a,0x09,0x72,0x06,0x8a,0x1f,0x01,0xb2,0xf9,0xd2,0x21,0xec,0x2b,
+ 0x20,0x76,0x12,0x84,0xfd,0x04,0xc4,0x2e,0x02,0x7a,0x02,0xa8,0xe6,0x0b,0x48,0x7d,
+ 0x3a,0x98,0xcd,0xc4,0x01,0x62,0x27,0x41,0xd8,0x32,0x20,0x76,0x49,0x6a,0x05,0xc8,
+ 0x5e,0x06,0xe7,0xfc,0x82,0xca,0xa2,0xcc,0xf4,0x8c,0x12,0x05,0x23,0x03,0x03,0x03,
+ 0x05,0xc7,0x94,0xfc,0xa4,0x54,0x85,0xe0,0xca,0xe2,0x92,0xd4,0xdc,0x62,0x05,0xcf,
+ 0xbc,0xe4,0xfc,0xa2,0x82,0xfc,0xa2,0xc4,0x92,0xd4,0x14,0xa0,0x5a,0x88,0xfb,0x40,
+ 0xba,0x18,0x04,0x21,0x0a,0x41,0x21,0xa6,0x61,0x68,0x69,0x69,0xa1,0x09,0x16,0xa5,
+ 0x22,0x01,0x8a,0x07,0x88,0x71,0x9f,0x03,0xc1,0xe1,0xcb,0x28,0x76,0x06,0x21,0x86,
+ 0xb0,0x28,0xb9,0xb4,0xa8,0x0c,0xca,0x63,0x64,0x32,0x66,0x60,0x20,0xc4,0x47,0x98,
+ 0x31,0x47,0x82,0x81,0xc1,0x7f,0x29,0x03,0x03,0xcb,0x1f,0x84,0x98,0x49,0x2f,0x03,
+ 0xc3,0x02,0x1d,0x06,0x06,0xfe,0xa9,0x08,0x31,0x35,0x43,0x06,0x06,0x01,0x7d,0x06,
+ 0x86,0x7d,0x73,0x00,0xc3,0xaf,0x50,0x6f,0xe6,0xb3,0xe5,0xe9,0x00,0x00,0x00,0x09,
+ 0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,0x9c,
+ 0x18,0x00,0x00,0x01,0x3c,0x49,0x44,0x41,0x54,0x28,0x15,0x63,0xfc,0xff,0xff,0x2f,
+ 0x03,0x29,0x80,0x89,0x14,0xc5,0x20,0xb5,0x24,0x6b,0x60,0x61,0x38,0xfa,0x93,0x61,
+ 0xd1,0x1b,0x06,0x05,0x0e,0x86,0x34,0x21,0x06,0x61,0x46,0xec,0x16,0xbe,0xfd,0xcf,
+ 0x30,0xeb,0x1d,0xc3,0x83,0x1f,0x0c,0x71,0x22,0x2c,0x0c,0x93,0xdf,0x30,0xac,0x7c,
+ 0x0b,0x52,0xa7,0xce,0xca,0x10,0xc4,0x07,0xd5,0xf0,0x0f,0x6c,0x33,0xd3,0x3f,0x28,
+ 0xf7,0xe0,0x67,0x86,0xaa,0xa7,0x20,0xf6,0x47,0xb8,0x93,0x74,0xd8,0xa0,0x72,0x40,
+ 0x0a,0x68,0x5e,0xe6,0x63,0x10,0x02,0x32,0xd0,0xc0,0xd5,0xcf,0x2c,0x50,0x91,0x2b,
+ 0xbf,0x10,0x52,0x6b,0x3e,0x30,0xcc,0x02,0xdb,0x09,0x74,0x67,0xa5,0x30,0x42,0x1c,
+ 0xcc,0x62,0x62,0x78,0xfd,0x13,0x45,0x08,0xe8,0x98,0x7b,0x48,0x9a,0x91,0xe5,0x80,
+ 0xae,0x10,0x63,0x63,0x62,0x10,0x65,0x87,0x0a,0x9e,0xfc,0x0e,0x65,0x3c,0xfc,0x03,
+ 0x65,0x5c,0xfc,0xc1,0x00,0xf1,0xcc,0xcd,0xdf,0x20,0x11,0xa0,0x2b,0x44,0xd9,0x59,
+ 0x18,0xc2,0x78,0xa1,0x9e,0xee,0x7a,0xc9,0xa0,0xc4,0xc6,0xf0,0xee,0x1f,0x94,0x0b,
+ 0x54,0x01,0x0c,0x0c,0x7d,0x0e,0x06,0x21,0x26,0xa8,0x8f,0x81,0x22,0x8e,0x5c,0x8c,
+ 0xff,0xdf,0xfc,0x61,0x70,0xb8,0x09,0xd2,0x4d,0x0c,0x78,0xa3,0xcb,0x04,0x0a,0xfb,
+ 0x19,0x8a,0x0c,0xc8,0xa1,0x04,0xd4,0x09,0xe4,0x86,0xa3,0x7a,0x17,0x28,0xb2,0x56,
+ 0x81,0x41,0x90,0x99,0x11,0x9a,0x96,0x6e,0xfe,0x64,0x98,0xf7,0x81,0x61,0xdb,0x7b,
+ 0xa0,0xb7,0x18,0x5c,0xf8,0x41,0x91,0x08,0x04,0xc0,0xc8,0x02,0x7a,0xe3,0xea,0x67,
+ 0x06,0x2f,0x41,0x06,0x3f,0x01,0x06,0x6b,0x90,0x6f,0x19,0xff,0xff,0xfd,0xcf,0x00,
+ 0x8c,0x20,0xa0,0xe7,0xe0,0xd1,0x04,0x52,0x8b,0x13,0xc0,0xd2,0x12,0x71,0xaa,0x81,
+ 0xc6,0xb0,0x40,0x8d,0x87,0x9b,0x08,0xb1,0x0d,0xc8,0x85,0x33,0x20,0x6c,0x98,0x02,
+ 0x00,0xf8,0xc9,0x65,0x0a,0x86,0x6f,0x02,0x27,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,
+ 0x44,0xae,0x42,0x60,0x82);
}
--- NEW FILE xvst.desktop ---
[Desktop Entry]
Type=Application
Name=xVideoServiceThief
GenericName=Video Downloader
GenericName[de]=Video-Downloader
GenericName[cs]=Stahování videí
Comment=Download videos and convert it
Comment[de]=Videos herunterladen und konvertieren
Comment[cs]=Nástroj pro stahování a konvertování videí z různých portálů
Icon=xvst
Exec=xvst
Terminal=false
StartupNotify=false
Categories=Qt;AudioVideo;Audio;Video;
--- NEW FILE xvst.spec ---
%global commit cbfafe49f7ba1c85d4dcf51be17b49b035210412
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global gitdate 20140804
Summary: Downloading your favourite video clips from a lot of websites
Name: xvst
Version: 2.5.2
Release: 4.%{gitdate}git%{shortcommit}%{?dist}
License: GPLv3+
URL:
https://github.com/xVST/xVideoServiceThief
# wget
https://github.com/xVST/xVideoServiceThief/archive/cbfafe49f7ba1c85d4dcf5...
Source0:
https://github.com/xVST/xVideoServiceThief/archive/%{commit}/%{name}-%{ve...
Source1: %{name}.desktop
Patch0: beeg.patch
Patch1: chilloutzone.patch
Patch2: disable_update.patch
Patch3: keezmovies.patch
Patch4: myvideo.patch
Patch5: sunporno.patch
Patch6: wat.tv.patch
BuildRequires: desktop-file-utils
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtscript-devel
BuildRequires: qt5-qttools-devel
BuildRequires: librtmp-devel
Requires: ffmpeg
%description
xVideoServiceThief (a.k.a xVST) is a tool for downloading your favourite
video clips from a lot of video websites (currently supports 93 websites
and increasing!).
xVideoServiceThief also provide you the ability to convert each video
in most popular formats: AVI, MPEG1, MPEG2, WMV, MP4, 3GP, MP3 file formats.
%prep
%setup -qn xVideoServiceThief-%{commit}
# removed bundled rtmpdump
rm -rf src/rtmpdump
# Patches provided by
getdeb.net. Add/fix download sites and turns off
# automatic updates.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
# Fix path names and end-of-line encoding.
sed -i "s|getApplicationPath()\ +\ \"|\"/usr/share/%{name}|g"
src/options.cpp
sed -i 's/\r//' "how to compile.txt"
chmod 0644 resources/services/youporngay/youporngay.js
chmod 0644 resources/services/tube8/tube8.js
chmod 0644 resources/services/hardsextube/hardsextube.js
%build
# Creat translation files.
lrelease-qt5 resources/translations/*.ts
rm -f resources/translations/template_for_new_translations.qm
%{qmake_qt5}
make %{?_smp_mflags}
%install
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/{plugins,languages}
find resources/services -name "*.js" \
-exec cp -dpR {} %{buildroot}%{_datadir}/%{name}/plugins \;
install -m 0644 resources/translations/*.qm \
%{buildroot}%{_datadir}/%{name}/languages
install -m 0644 resources/translations/definitions/*.language \
%{buildroot}%{_datadir}/%{name}/languages
install -Dm755 bin/%{name} %{buildroot}%{_bindir}/%{name}
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/applications/%{name}.desktop
install -Dm644 resources/images/InformationLogo.png
%{buildroot}%{_datadir}/pixmaps/%{name}.png
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%post
update-desktop-database &> /dev/null || :
%postun
update-desktop-database &> /dev/null || :
%files
%license GPL.txt
%doc README.md resources/{changelog.txt,service_list.html}
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/plugins/
%{_datadir}/%{name}/languages/*language
%{_datadir}/%{name}/languages/*qm
%changelog
* Sat Mar 21 2015 Martin Gansser <linux4martin(a)gmx.de> 2.5.2-4.20140804gitcbfafe4
- dropped macro %%find_lang because it doesn't work in this certain case
- dropped macro %%exclude from %%{_datadir}/%%{name}/languages/*qm
* Fri Mar 20 2015 Martin Gansser <linux4martin(a)gmx.de> 2.5.2-3.20140804gitcbfafe4
- dropped %%Provides tag
- added %%find_lang macro to find .qm files
* Sun Mar 08 2015 Martin Gansser <linux4martin(a)gmx.de> 2.5.2-2.20140804gitcbfafe4
- removed bundled rtmpdump
- added BR librtmp-devel
* Sat Mar 07 2015 Martin Gansser <linux4martin(a)gmx.de> 2.5.2-1.20140804gitcbfafe4
- Inital build for Fedora
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/xvst/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore 6 Apr 2015 21:41:36 -0000 1.1
+++ .cvsignore 7 Apr 2015 15:39:29 -0000 1.2
@@ -0,0 +1 @@
+xvst-2.5.2-cbfafe4.tar.gz
Index: sources
===================================================================
RCS file: /cvs/free/rpms/xvst/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources 6 Apr 2015 21:41:37 -0000 1.1
+++ sources 7 Apr 2015 15:39:29 -0000 1.2
@@ -0,0 +1 @@
+5174cdb3d48c530bead9afaa67986624 xvst-2.5.2-cbfafe4.tar.gz