summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Stefano <l.stickell@yahoo.it> 2014-03-12 18:13:42 +0100
committerGravatar Stefano <l.stickell@yahoo.it> 2014-04-21 17:04:50 +0200
commitbfa951bbc76d1a6fcaaeb9c3ca81c108dd293e2a (patch)
treebb41f50ebf3d0860bd26fd49fb3bc6a3780c573f
parentFastshareCz: Fixed #521 (diff)
downloadpyload-bfa951bbc76d1a6fcaaeb9c3ca81c108dd293e2a.tar.xz
New crypter: TusfilesNetFolder
Merges #520 (cherry picked from commit c694583c40dc95799d79035ba19a7bac15702f7a)
-rw-r--r--module/plugins/crypter/TusfilesNetFolder.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py
new file mode 100644
index 000000000..f364aabe7
--- /dev/null
+++ b/module/plugins/crypter/TusfilesNetFolder.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+
+###############################################################################
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# @author: Walter Purcaro
+###############################################################################
+
+import math
+import re
+from urlparse import urljoin
+
+from module.plugins.internal.SimpleCrypter import SimpleCrypter
+
+
+class TusfilesNetFolder(SimpleCrypter):
+ __name__ = "TusfilesNetFolder"
+ __type__ = "crypter"
+ __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?'
+ __version__ = "0.01"
+ __description__ = """Tusfiles.net folder decrypter plugin"""
+ __author_name__ = ("Walter Purcaro", "stickell")
+ __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it")
+
+ LINK_PATTERN = r'<TD align=left><a href="(.*?)">'
+ TITLE_PATTERN = r'<Title>.*?\: (?P<title>.+) folder</Title>'
+ PAGES_PATTERN = r'>\((?P<pages>\d+) \w+\)<'
+
+ FILE_URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')]
+
+ def loadPage(self, page_n):
+ return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True)
+
+ def handleMultiPages(self):
+ pages = re.search(self.PAGES_PATTERN, self.html)
+ if pages:
+ pages = int(math.ceil(int(pages.group('pages')) / 25.0))
+ else:
+ return
+
+ for p in xrange(2, pages + 1):
+ self.html = self.loadPage(p)
+ self.package_links += self.getLinks()