summaryrefslogtreecommitdiffstats
path: root/module/plugins/hooks/Vipleech4uCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hooks/Vipleech4uCom.py')
-rw-r--r--module/plugins/hooks/Vipleech4uCom.py80
1 files changed, 80 insertions, 0 deletions
diff --git a/module/plugins/hooks/Vipleech4uCom.py b/module/plugins/hooks/Vipleech4uCom.py
new file mode 100644
index 000000000..b2156b017
--- /dev/null
+++ b/module/plugins/hooks/Vipleech4uCom.py
@@ -0,0 +1,80 @@
+# -*- coding: utf-8 -*-
+import re
+
+from module.network.RequestFactory import getURL
+from module.plugins.internal.MultiHoster import MultiHoster
+
+
+class Vipleech4uCom(MultiHoster):
+ __name__ = "Vipleech4uCom"
+ __version__ = "0.01"
+ __type__ = "hook"
+ __config__ = [("activated", "bool", "Activated", "False"),
+ ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"),
+ ("hosterList", "str", "Hoster list (comma separated)", "")]
+ __description__ = """Vipleech4u.com hook plugin"""
+ __author_name__ = ("Kagenoshin")
+ __author_mail__ = ("kagenoshin@gmx.ch")
+
+ HOSTER_PATTERN = re.compile(r'align\s*?=\s*?["\']*?left.*?<\s*?strong\s*?>([^<]*?)<', re.I)
+
+ def getHoster(self):
+ hosters = {
+ 'depositfiles': ['depositfiles.com', 'dfiles.eu'],
+ 'uploaded': ['uploaded.to', 'uploaded.net', 'ul.to'],
+ 'rapidggator': ['rapidgator.net'], # they have a typo it's called rapidgator
+ 'freakshare': ['freakshare.net', 'freakshare.com'],
+ 'filefactory': ['filefactory.com'],
+ 'bitshare': ['bitshare.com'],
+ 'share-online': ['share-online.biz', 'egoshare.com'],
+ 'youtube': ['youtube.com'],
+ 'turbobit': ['turbobit.net', 'unextfiles.com'],
+ 'firedrive': ['firedrive.com', 'putlocker.com'],
+ 'filepost': ['filepost.com', 'fp.io'],
+ 'netload': ['netload.in'],
+ 'uploadhero': ['uploadhero.com'],
+ 'ryushare': ['ryushare.com'],
+ }
+
+ #check if the list is still valid
+ self.check_for_new_or_removed_hosters(hosters)
+
+ #build list
+ hoster_list = []
+
+ for item in hosters.itervalues():
+ hoster_list.extend(item)
+
+ return hoster_list
+
+ def check_for_new_or_removed_hosters(self, hosters):
+ #get the old hosters
+ old_hosters = hosters.keys()
+
+ #load the current hosters from vipleech4u.com
+ page = getURL('http://vipleech4u.com/hosts.php')
+ current_hosters = self.HOSTER_PATTERN.findall(page)
+ current_hosters = [x.lower() for x in current_hosters]
+
+ #let's look for new hosters
+ new_hosters = []
+
+ for hoster in current_hosters:
+ if not hoster in old_hosters:
+ new_hosters.append(hoster)
+
+ #let's look for removed hosters
+ removed_hosters = []
+
+ for hoster in old_hosters:
+ if not hoster in current_hosters:
+ removed_hosters.append(hoster)
+
+ if new_hosters:
+ self.logDebug('The following new hosters were found on vipleech4u.com: %s' % str(new_hosters))
+
+ if removed_hosters:
+ self.logDebug('The following hosters were removed from vipleech4u.com: %s' % str(removed_hosters))
+
+ if not (new_hosters and removed_hosters):
+ self.logDebug('The hoster list is still valid.')