summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/accounts/FilebeerInfo.py57
-rw-r--r--module/plugins/accounts/SpeedLoadOrg.py13
-rw-r--r--module/plugins/crypter/FilebeerInfoFolder.py28
-rw-r--r--module/plugins/crypter/SpeedLoadOrgFolder.py9
-rw-r--r--module/plugins/hoster/SpeedLoadOrg.py14
-rw-r--r--module/plugins/internal/DeadCrypter.py14
6 files changed, 23 insertions, 112 deletions
diff --git a/module/plugins/accounts/FilebeerInfo.py b/module/plugins/accounts/FilebeerInfo.py
deleted file mode 100644
index 3c3a9edfd..000000000
--- a/module/plugins/accounts/FilebeerInfo.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# -*- 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: zoidberg
-"""
-
-import re
-from time import mktime, strptime
-from module.plugins.Account import Account
-
-
-class FilebeerInfo(Account):
- __name__ = "FilebeerInfo"
- __version__ = "0.02"
- __type__ = "account"
- __description__ = """filebeer.info account plugin"""
- __author_name__ = ("zoidberg")
- __author_mail__ = ("zoidberg@mujmail.cz")
-
- VALID_UNTIL_PATTERN = r'Reverts To Free Account:\s</td>\s*<td>\s*(.*?)\s*</td>'
-
- def loadAccountInfo(self, user, req):
- html = req.load("http://filebeer.info/upgrade.php", decode=True)
- premium = not 'Free User </td>' in html
-
- validuntil = None
- if premium:
- try:
- validuntil = mktime(strptime(re.search(self.VALID_UNTIL_PATTERN, html).group(1), "%d/%m/%Y %H:%M:%S"))
- except Exception, e:
- self.logError("Unable to parse account info", e)
-
- return {"validuntil": validuntil, "trafficleft": -1, "premium": premium}
-
- def login(self, user, data, req):
- html = req.load('http://filebeer.info/login.php', post={
- "submit": 'Login',
- "loginPassword": data['password'],
- "loginUsername": user,
- "submitme": '1'
- }, decode=True)
-
- if "<ul class='pageErrors'>" in html or ">Your username and password are invalid<" in html:
- self.wrongPassword()
diff --git a/module/plugins/accounts/SpeedLoadOrg.py b/module/plugins/accounts/SpeedLoadOrg.py
deleted file mode 100644
index bb9fb05fb..000000000
--- a/module/plugins/accounts/SpeedLoadOrg.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- coding: utf-8 -*-
-from module.plugins.internal.XFSPAccount import XFSPAccount
-
-
-class SpeedLoadOrg(XFSPAccount):
- __name__ = "SpeedLoadOrg"
- __version__ = "0.01"
- __type__ = "account"
- __description__ = """SpeedLoadOrg account plugin"""
- __author_name__ = ("stickell")
- __author_mail__ = ("l.stickell@yahoo.it")
-
- MAIN_PAGE = "http://speedload.org/"
diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py
index 86ce5b697..b6bf4fd07 100644
--- a/module/plugins/crypter/FilebeerInfoFolder.py
+++ b/module/plugins/crypter/FilebeerInfoFolder.py
@@ -1,36 +1,14 @@
# -*- coding: utf-8 -*-
-import re
-from module.plugins.Crypter import Crypter
+from module.plugins.internal.DeadCrypter import DeadCrypter
-class FilebeerInfoFolder(Crypter):
+class FilebeerInfoFolder(DeadCrypter):
__name__ = "FilebeerInfoFolder"
__type__ = "crypter"
__pattern__ = r"http://(?:www\.)?filebeer\.info/(\d+~f).*"
- __version__ = "0.01"
+ __version__ = "0.02"
__description__ = """Filebeer.info Folder Plugin"""
__author_name__ = ("zoidberg")
__author_mail__ = ("zoidberg@mujmail.cz")
- LINK_PATTERN = r'<td title="[^"]*"><a href="([^"]+)" target="_blank">'
- PAGE_COUNT_PATTERN = r'<p class="introText">\s*Total Pages (\d+)'
-
- def decrypt(self, pyfile):
- pyfile.url = re.sub(self.__pattern__, r'http://filebeer.info/\1?page=1', pyfile.url)
- html = self.load(pyfile.url)
-
- page_count = int(re.search(self.PAGE_COUNT_PATTERN, html).group(1))
- new_links = []
-
- for i in range(1, page_count + 1):
- self.logInfo("Fetching links from page %i" % i)
- new_links.extend(re.findall(self.LINK_PATTERN, html))
-
- if i < page_count:
- html = self.load("%s?page=%d" % (pyfile.url, i + 1))
-
- if new_links:
- self.core.files.addLinks(new_links, self.pyfile.package().id)
- else:
- self.fail('Could not extract any links')
diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py
index 8223eb7b9..7472e28fe 100644
--- a/module/plugins/crypter/SpeedLoadOrgFolder.py
+++ b/module/plugins/crypter/SpeedLoadOrgFolder.py
@@ -15,17 +15,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
############################################################################
-from module.plugins.internal.SimpleCrypter import SimpleCrypter
+from module.plugins.internal.DeadCrypter import DeadCrypter
-class SpeedLoadOrgFolder(SimpleCrypter):
+class SpeedLoadOrgFolder(DeadCrypter):
__name__ = "SpeedLoadOrgFolder"
__type__ = "crypter"
__pattern__ = r"http://(www\.)?speedload\.org/(\d+~f$|folder/\d+/)"
- __version__ = "0.2"
+ __version__ = "0.3"
__description__ = """Speedload Crypter Plugin"""
__author_name__ = ("stickell")
__author_mail__ = ("l.stickell@yahoo.it")
-
- LINK_PATTERN = r'<div class="link"><a href="(http://speedload.org/\w+)"'
- TITLE_PATTERN = r'<title>Files of: (?P<title>[^<]+) folder</title>'
diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py
index 17354864f..5687fae85 100644
--- a/module/plugins/hoster/SpeedLoadOrg.py
+++ b/module/plugins/hoster/SpeedLoadOrg.py
@@ -1,23 +1,15 @@
# -*- coding: utf-8 -*-
-from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
+from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo
-class SpeedLoadOrg(XFileSharingPro):
+class SpeedLoadOrg(DeadHoster):
__name__ = "SpeedLoadOrg"
__type__ = "hoster"
__pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+)"
- __version__ = "1.01"
+ __version__ = "1.02"
__description__ = """Speedload.org hoster plugin"""
__author_name__ = ("stickell")
__author_mail__ = ("l.stickell@yahoo.it")
- FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>[^<]+)</td></tr>'
- FILE_SIZE_PATTERN = r'Size:</b></td><td>[\w. ]+<small>\((?P<S>\d+) bytes\)</small>'
-
- HOSTER_NAME = "speedload.org"
-
- def handlePremium(self):
- self.download(self.pyfile.url, post=self.getPostParameters())
-
getInfo = create_getInfo(SpeedLoadOrg)
diff --git a/module/plugins/internal/DeadCrypter.py b/module/plugins/internal/DeadCrypter.py
new file mode 100644
index 000000000..805f781af
--- /dev/null
+++ b/module/plugins/internal/DeadCrypter.py
@@ -0,0 +1,14 @@
+from module.plugins.Crypter import Crypter as _Crypter
+
+
+class DeadCrypter(_Crypter):
+ __name__ = "DeadCrypter"
+ __type__ = "crypter"
+ __pattern__ = r""
+ __version__ = "0.01"
+ __description__ = """Crypter is no longer available"""
+ __author_name__ = ("stickell")
+ __author_mail__ = ("l.stickell@yahoo.it")
+
+ def setup(self):
+ self.fail("Crypter is no longer available")