summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/ArchivTo.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/ArchivTo.py')
-rw-r--r--module/plugins/hoster/ArchivTo.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/module/plugins/hoster/ArchivTo.py b/module/plugins/hoster/ArchivTo.py
new file mode 100644
index 000000000..02ff207ab
--- /dev/null
+++ b/module/plugins/hoster/ArchivTo.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+
+import re
+from module.plugins.Hoster import Hoster
+from module.unescape import unescape
+
+class ArchivTo(Hoster):
+ __name__ = "ArchivTo"
+ __type__ = "hoster"
+ __pattern__ = r"http://(www\.)?archiv.to/view/divx/"
+ __version__ = "0.1"
+ __description__ = """Archiv.to Video Download Hoster"""
+ __author_name__ = ("Petersilie")
+ __author_mail__ = ("None")
+
+ def setup(self):
+ self.html = None
+
+ def process(self, pyfile):
+ self.pyfile = pyfile
+ self.download_html()
+ pyfile.name = self.get_file_name()
+ self.download(self.get_file_url())
+
+ def download_html(self):
+ # open url (save cookies needed for download)
+ self.html = self.load(self.pyfile.url, cookies=True)
+
+ def get_file_url(self):
+ # get actual file url for downloading
+ file_url = re.search(r"autoplay=\"true\" custommode=\"none\" src=\"(http://.*?)\"", self.html).group(1)
+ return file_url
+
+ def get_file_name(self):
+ file_name = re.search(r"style=\"color:black;text-decoration:none;font-size:14px;font-weight:bold\">(.*?)</a>", self.html)
+ if not file_name:
+ file_name = re.search(r"movietitle=\"(.*?)\"", self.html)
+ return unescape(file_name.group(1))
+
+ def file_exists(self):
+ # check if file still exists
+ self.download_html()
+ self.load(str(self.pyfile.url), cookies=False)
+ if self.get_file_name():
+ return True
+ return False