summarylogtreecommitdiffstats
path: root/beeg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'beeg.patch')
-rw-r--r--beeg.patch128
1 files changed, 128 insertions, 0 deletions
diff --git a/beeg.patch b/beeg.patch
new file mode 100644
index 000000000000..4acd16f723c9
--- /dev/null
+++ b/beeg.patch
@@ -0,0 +1,128 @@
+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@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";
++}