diff options
author | spoob <spoob@gmx.de> | 2009-09-04 15:13:57 +0200 |
---|---|---|
committer | spoob <spoob@gmx.de> | 2009-09-04 15:13:57 +0200 |
commit | 6b5d39a18461a45e53fd4048e1ac6a5cbd075b8c (patch) | |
tree | 12c44e446f2d82785572b2577a39a96e741c34a9 /Plugins/RapidshareCom.py | |
parent | pyLoad RC (diff) | |
download | pyload-6b5d39a18461a45e53fd4048e1ac6a5cbd075b8c.tar.xz |
clean root folder
Diffstat (limited to 'Plugins/RapidshareCom.py')
-rw-r--r-- | Plugins/RapidshareCom.py | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/Plugins/RapidshareCom.py b/Plugins/RapidshareCom.py deleted file mode 100644 index 731554f87..000000000 --- a/Plugins/RapidshareCom.py +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import re -from time import time - -from Plugin import Plugin - -class RapidshareCom(Plugin): - - def __init__(self, parent): - Plugin.__init__(self, parent) - props = {} - props['name'] = "RapidshareCom" - props['type'] = "hoster" - props['pattern'] = r"http://(?:www.)?(rs\d*.)?rapidshare.com/files/" - props['version'] = "0.4" - props['description'] = """Rapidshare.com Download Plugin""" - props['author_name'] = ("spoob", "RaNaN") - props['author_mail'] = ("spoob@pyload.org", "ranan@pyload.org") - self.props = props - self.parent = parent - self.html = [None, None] - self.html_old = None #time() where loaded the HTML - self.time_plus_wait = None #time() + wait in seconds - self.want_reconnect = False - self.multi_dl = False - - self.read_config() - if self.config['premium']: - self.multi_dl = True - - self.start_dl = False - - def prepare(self, thread): - pyfile = self.parent - - self.want_reconnect = False - - tries = 0 - - while not self.start_dl or not pyfile.status.url: - - self.req.clear_cookies() - - self.download_html() - - pyfile.status.exists = self.file_exists() - - if not pyfile.status.exists: - raise Exception, "The file was not found on the server." - - pyfile.status.filename = self.get_file_name() - - if self.config['premium']: - pyfile.status.url = self.parent.url - return True - - self.download_serverhtml() - pyfile.status.waituntil = self.time_plus_wait - pyfile.status.want_reconnect = self.want_reconnect - - thread.wait(self.parent) - - pyfile.status.url = self.get_file_url() - - tries += 1 - if tries > 5: - raise Exception, "Error while preparing, HTML dump:"+ str(self.html[0]) + str(self.html[1]) - - return True - - def download_html(self): - """ gets the url from self.parent.url saves html in self.html and parses - """ - url = self.parent.url - self.html[0] = self.req.load(url) - self.html_old = time() - - self.download_serverhtml() - - def download_serverhtml(self): - """downloads html with the important informations - """ - file_server_url = re.search(r"<form action=\"(.*?)\"", self.html[0]).group(1) - self.html[1] = self.req.load(file_server_url, None, {"dl.start": "Free"}) - self.html_old = time() - self.get_wait_time() - - def get_wait_time(self): - - if re.search(r".*is already downloading.*", self.html[1]) != None: - self.time_plus_wait = time() + 10 * 60 - try: - wait_minutes = re.search(r"Or try again in about (\d+) minute", self.html[1]).group(1) - self.time_plus_wait = time() + 60 * int(wait_minutes) - self.want_reconnect = True - except: - if re.search(r".*Currently a lot of users.*", self.html[1]) != None: - self.time_plus_wait = time() + 130 - return True - wait_seconds = re.search(r"var c=(.*);.*", self.html[1]).group(1) - self.time_plus_wait = time() + int(wait_seconds) + 5 - - def file_exists(self): - """ returns True or False - """ - if re.search(r"The File could not be found", self.html[0]) != None or \ - re.search(r"(<p>This limit is reached.</p>)", self.html[0]) or \ - re.search(r"(is momentarily not available)", self.html[0]) or \ - re.search(r"(The uploader has removed this file from the server)", self.html[0]) or \ - re.search(r"(This file is suspected to contain illegal content)", self.html[0]): - return False - else: - return True - - def get_file_url(self): - """ returns the absolute downloadable filepath - """ - if self.config['premium']: - self.start_dl = True - return self.parent.url - - #if (self.html_old + 5 * 60) < time(): # nach einiger zeit ist die file_url nicht mehr aktuell - # self.download_serverhtml() - - - try: - if self.config['server'] == "": - file_url_pattern = r".*name=\"dlf\" action=\"(.*)\" method=.*" - else: - file_url_pattern = '(http://rs.*)\';" /> %s<br />' % self.config['server'] - - self.start_dl = True - return re.search(file_url_pattern, self.html[1]).group(1) - except Exception, e: - self.start_dl = False - return False - #print self.html[1] #test print - #raise Exception, "Error when retrieving download url" - - def get_file_name(self): - - file_name_pattern = r"<p class=\"downloadlink\">.+/(.+) <font" - return re.findall(file_name_pattern, self.html[0])[0] - - def proceed(self, url, location): - - if self.config['premium']: - self.req.add_auth(self.config['username'], self.config['password']) - - self.req.download(url, location) |