From 51fb97b87e9ead86812e1a1110516ed06dd4ddda Mon Sep 17 00:00:00 2001
From: zoidberg10 <zoidberg@mujmail.cz>
Date: Tue, 1 Nov 2011 12:14:39 +0100
Subject: filesonic/wupload folders

---
 module/plugins/crypter/FilesonicComFolder.py | 31 ++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 module/plugins/crypter/FilesonicComFolder.py

(limited to 'module/plugins/crypter')

diff --git a/module/plugins/crypter/FilesonicComFolder.py b/module/plugins/crypter/FilesonicComFolder.py
new file mode 100644
index 000000000..7bf1df381
--- /dev/null
+++ b/module/plugins/crypter/FilesonicComFolder.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+
+import re
+from module.plugins.Crypter import Crypter
+
+class FilesonicComFolder(Crypter):
+    __name__ = "FilesonicComFolder"
+    __type__ = "crypter"
+    __pattern__ = r"http://(\w*\.)?(sharingmatrix|filesonic|wupload)\.[^/]*/folder/\d+/?"
+    __version__ = "0.10"
+    __description__ = """Filesonic.com/Wupload.com Folder Plugin"""
+    __author_name__ = ("zoidberg")
+    __author_mail__ = ("zoidberg@mujmail.cz")
+
+    FOLDER_PATTERN = r'<table>\s*<caption>Files Folder</caption>(.*?)</table>'
+    LINK_PATTERN = r'<a href="([^"]+)">'
+
+    def decrypt(self, pyfile):
+        html = self.load(self.pyfile.url)
+
+        new_links = []
+
+        folder = re.search(self.FOLDER_PATTERN, html, re.DOTALL)
+        if not folder: self.fail("Parse error (FOLDER)")
+
+        new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1)))
+
+        if new_links:
+            self.core.files.addLinks(new_links, self.pyfile.package().id)
+        else:
+            self.fail('Could not extract any links')
\ No newline at end of file
-- 
cgit v1.2.3