summaryrefslogtreecommitdiffstats
path: root/module/plugins/accounts/UploadingCom.py
diff options
context:
space:
mode:
authorGravatar mkaay <mkaay@mkaay.de> 2011-02-05 21:30:49 +0100
committerGravatar mkaay <mkaay@mkaay.de> 2011-02-05 21:30:49 +0100
commit4a0c988f61d2bf64d2758f8bab1d31bd7116f568 (patch)
tree70a519d61478ac9d38e121f4d18076f5a07b51df /module/plugins/accounts/UploadingCom.py
parentfixed database conversion (diff)
downloadpyload-4a0c988f61d2bf64d2758f8bab1d31bd7116f568.tar.xz
uploading.com premium
Diffstat (limited to 'module/plugins/accounts/UploadingCom.py')
-rw-r--r--module/plugins/accounts/UploadingCom.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/module/plugins/accounts/UploadingCom.py b/module/plugins/accounts/UploadingCom.py
new file mode 100644
index 000000000..507e4ab18
--- /dev/null
+++ b/module/plugins/accounts/UploadingCom.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+
+"""
+ 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 this program; if not, see <http://www.gnu.org/licenses/>.
+
+ @author: mkaay
+"""
+
+from module.plugins.Account import Account
+from time import time, strptime, mktime
+import re
+
+class UploadingCom(Account):
+ __name__ = "UploadingCom"
+ __version__ = "0.1"
+ __type__ = "account"
+ __description__ = """uploading.com account plugin"""
+ __author_name__ = ("mkaay")
+ __author_mail__ = ("mkaay@mkaay.de")
+
+ def loadAccountInfo(self, user, req):
+ src = req.load("http://uploading.com/")
+ premium = True
+ if "UPGRADE TO PREMIUM" in src:
+ return {"validuntil": -1, "trafficleft": -1, "premium": False}
+
+ m = re.search("Valid Until:(.*?)<", src)
+ if m:
+ validuntil = int(mktime(strptime(m.group(1).strip(), "%b %d, %Y")))
+ else:
+ validuntil = -1
+
+ return {"validuntil": validuntil, "trafficleft": -1, "premium": True}
+
+ def login(self, user, data, req):
+ req.cj.setCookie("uploading.com", "lang", "1")
+ req.cj.setCookie("uploading.com", "language", "1")
+ req.cj.setCookie("uploading.com", "setlang", "en")
+ req.cj.setCookie("uploading.com", "_lang", "en")
+ req.load("http://uploading.com/")
+ req.load("http://uploading.com/general/login_form/?JsHttpRequest=%s-xml" % long(time()*1000), post={"email": user, "password": data["password"], "remember": "on"})