rpms/xvst/devel beeg.patch, NONE, 1.1 chilloutzone.patch, NONE, 1.1 disable_update.patch, NONE, 1.1 keezmovies.patch, NONE, 1.1 myvideo.patch, NONE, 1.1 sunporno.patch, NONE, 1.1 wat.tv.patch, NONE, 1.1 xvst.desktop, NONE, 1.1 xvst.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Martin Gansser martinkg at rpmfusion.org
Tue Apr 7 17:39:29 CEST 2015


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 at 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 at 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 &quot;
+	summary = strReplace(summary, "&quot;", "");
+
+	// 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 at 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 at 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 at 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/cbfafe49f7ba1c85d4dcf51be17b49b035210412/xvst-2.5.2-cbfafe4.tar.gz
Source0:        https://github.com/xVST/xVideoServiceThief/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
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 at 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 at 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 at gmx.de> 2.5.2-2.20140804gitcbfafe4
- removed bundled rtmpdump
- added BR librtmp-devel

* Sat Mar 07 2015 Martin Gansser <linux4martin at 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


More information about the rpmfusion-commits mailing list