summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/hoster/FileshareInUa.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/hoster/FileshareInUa.py')
-rw-r--r--pyload/plugins/hoster/FileshareInUa.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/pyload/plugins/hoster/FileshareInUa.py b/pyload/plugins/hoster/FileshareInUa.py
new file mode 100644
index 000000000..9700b2d0a
--- /dev/null
+++ b/pyload/plugins/hoster/FileshareInUa.py
@@ -0,0 +1,78 @@
+from urllib import urlencode
+import re
+from module.plugins.Hoster import Hoster
+from module.network.RequestFactory import getURL
+from module.utils import parseFileSize
+
+class FileshareInUa(Hoster):
+ __name__ = "FileshareInUa"
+ __type__ = "hoster"
+ __pattern__ = r"http://(?:\w*\.)*?fileshare.in.ua/[A-Za-z0-9]+"
+ __version__ = "0.01"
+ __description__ = """fileshare.in.ua hoster plugin"""
+ __author_name__ = ("fwannmacher")
+ __author_mail__ = ("felipe@warhammerproject.com")
+
+ HOSTER_NAME = "fileshare.in.ua"
+ PATTERN_FILENAME = r'<h3 class="b-filename">(.*?)</h3>'
+ PATTERN_FILESIZE = r'<b class="b-filesize">(.*?)</b>'
+ PATTERN_OFFLINE = "This file doesn't exist, or has been removed."
+
+ def setup(self):
+ self.resumeDownload = True
+ self.multiDL = True
+
+ def process(self, pyfile):
+ self.pyfile = pyfile
+ self.html = self.load(pyfile.url, decode=True)
+
+ if not self._checkOnline():
+ self.offline()
+
+ self.pyfile.name = self._getName()
+
+ self.link = self._getLink()
+
+ if not self.link.startswith('http://'):
+ self.link = "http://fileshare.in.ua" + self.link
+
+ self.download(self.link)
+
+ def _checkOnline(self):
+ if re.search(self.PATTERN_OFFLINE, self.html):
+ return False
+ else:
+ return True
+
+ def _getName(self):
+ name = re.search(self.PATTERN_FILENAME, self.html)
+ if name is None:
+ self.fail("%s: Plugin broken." % self.__name__)
+
+ return name.group(1)
+
+ def _getLink(self):
+ return re.search("<a href=\"(/get/.+)\" class=\"b-button m-blue m-big\" >", self.html).group(1)
+
+def getInfo(urls):
+ result = []
+
+ for url in urls:
+ html = getURL(url)
+
+ if re.search(FileshareInUa.PATTERN_OFFLINE, html):
+ result.append((url, 0, 1, url))
+ else:
+ name = re.search(FileshareInUa.PATTERN_FILENAME, html)
+
+ if name is None:
+ result.append((url, 0, 1, url))
+ continue
+
+ name = name.group(1)
+ size = re.search(FileshareInUa.PATTERN_FILESIZE, html)
+ size = parseFileSize(size.group(1))
+
+ result.append((name, size, 3, url))
+
+ yield result