added uploaded.to support (no premium yet... only free downloads)
authorNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Sat, 29 Aug 2009 10:36:09 +0000 (10:36 +0000)
committerNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Sat, 29 Aug 2009 10:36:09 +0000 (10:36 +0000)
rsdownloader/src/plugin.py

index 6eba48a..8b344ea 100644 (file)
@@ -219,7 +219,7 @@ class RSDownload:
                                if not seconds:\r
                                        self.httpFailed(True, "Failed to get download page url: %s"%self.url)\r
                                else:\r
-                                       writeLog("Free RS-download... must wait %s seconds: %s"%(seconds, self.url))\r
+                                       writeLog("Free RS-Download... must wait %s seconds: %s"%(seconds, self.url))\r
                                        self.status = "%s %s"%(_("Waiting"), seconds)\r
                                        url = matchGet('"dlf" action="([^"]+)', data)\r
                                        if not url:\r
@@ -228,7 +228,29 @@ class RSDownload:
                                                self.freeDownloadUrl = url\r
                                                self.freeDownloadTimer = eTimer()\r
                                                self.freeDownloadTimer.callback.append(self.freeDownloadStart)\r
-                                               self.freeDownloadTimer.start((int(seconds) + 2) * 1000, 1)\r
+                                               self.freeDownloadTimer.start((int(seconds) + 2) * 1000, 1)
+               elif self.url.__contains__("uploaded.to") or self.url.__contains__("ul.to"):
+                       writeLog("Free Uploaded.to-Download: %s"%self.url)\r
+                       self.status = _("Checking")\r
+                       if config.plugins.RSDownloader.reconnect_fritz.value:\r
+                               reconnect()\r
+                               sleep(3)\r
+                       data = get(self.url)
+                       tmp = re.search(r"Or wait (\d+) minutes", data)
+                       if tmp:
+                               minutes = tmp.group(1)
+                               writeLog("Free Uploaded.to-Download... must wait %s minutes: %s"%(minutes, self.url))
+                               self.status = "%s %s"%(_("Waiting"), minutes)\r
+                               self.freeDownloadTimer = eTimer()\r
+                               self.freeDownloadTimer.callback.append(self.start)\r
+                               self.freeDownloadTimer.start((int(minutes) + 1) * 60000, 1)
+                       else:
+                               url = re.search(r".*<form name=\"download_form\" method=\"post\" action=\"(.*)\">", data).group(1)
+                               self.name = re.search(r"<td><b>\s+(.+)\s", data).group(1) + re.search(r"</td><td>(\..+)</td></tr>", data).group(1)\r
+                               self.status = _("Downloading")\r
+                               self.download = ProgressDownload(url, ("%s/%s"%(config.plugins.RSDownloader.downloads_directory.value, self.name)).replace("//", "/"))\r
+                               self.download.addProgress(self.httpProgress)\r
+                               self.download.start().addCallback(self.httpFinished).addErrback(self.httpFailed)\r
                elif self.url.__contains__("youtube.com"):\r
                        writeLog("Getting youtube video link: %s"%self.url)\r
                        self.status = _("Checking")\r