summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-08-18 12:20:21 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-08-18 12:20:21 +0200
commita9f070cebd0af09e9942a595946a2eb84bacde13 (patch)
tree37926f5c3411122ef474b8440520385f4b82c9bf /module/plugins
parentforgot to comment line in (diff)
downloadpyload-a9f070cebd0af09e9942a595946a2eb84bacde13.tar.xz
generic multihoster plugin
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/hooks/RealdebridCom.py61
-rw-r--r--module/plugins/hooks/RehostTo.py57
-rw-r--r--module/plugins/hoster/RehostTo.py1
3 files changed, 13 insertions, 106 deletions
diff --git a/module/plugins/hooks/RealdebridCom.py b/module/plugins/hooks/RealdebridCom.py
index 59035926a..4ec109de4 100644
--- a/module/plugins/hooks/RealdebridCom.py
+++ b/module/plugins/hooks/RealdebridCom.py
@@ -1,12 +1,10 @@
# -*- coding: utf-8 -*-
-import re
-from module.network.RequestFactory import getURL
-from module.plugins.Hook import Hook
-from module.utils import removeChars
+from module.network.RequestFactory import getURL
+from module.common.MultiHoster import MultiHoster
-class RealdebridCom(Hook):
+class RealdebridCom(MultiHoster):
__name__ = "RealdebridCom"
__version__ = "0.4"
__type__ = "hook"
@@ -18,55 +16,10 @@ class RealdebridCom(Hook):
__author_name__ = ("Devirex, Hazzard")
__author_mail__ = ("naibaf_11@yahoo.de")
- interval = 0
- hosters = []
-
replacements = [("freakshare.net", "freakshare.com")]
- def getHostersCached(self):
- if not self.hosters:
- https = "https" if self.getConfig("https") else "http"
- page = getURL(https + "://real-debrid.com/api/hosters.php").replace("\"","").strip()
-
- self.hosters = [x.strip() for x in page.split(",") if x.strip()]
-
- for rep in self.replacements:
- if rep[0] in self.hosters:
- self.hosters.remove(rep[0])
- self.hosters.append(rep[1])
-
- return self.hosters
-
- def coreReady(self):
- pluginMap = {}
- for name in self.core.pluginManager.hosterPlugins.keys():
- pluginMap[name.lower()] = name
-
- supported = []
- new_supported = []
-
- for hoster in self.getHostersCached():
- name = removeChars(hoster.lower(), "-.")
-
- if name in pluginMap:
- supported.append(pluginMap[name])
- else:
- new_supported.append(hoster)
-
- module = self.core.pluginManager.getPlugin("RealdebridCom")
- klass = getattr(module, "RealdebridCom")
- #inject real debrid plugin
- self.logDebug("Overwritten Hosters: %s" % ", ".join(sorted(supported)))
- for hoster in supported:
- dict = self.core.pluginManager.hosterPlugins[hoster]
- dict["new_module"] = module
- dict["new_name"] = "RealdebridCom"
-
- self.logDebug("New Hosters: %s" % ", ".join(sorted(new_supported)))
-
- #create new regexp
- regexp = r".*(%s).*" % "|".join([klass.__pattern__] + [x.replace(".", "\\.") for x in new_supported])
+ def getHoster(self):
+ https = "https" if self.getConfig("https") else "http"
+ page = getURL(https + "://real-debrid.com/api/hosters.php").replace("\"","").strip()
- dict = self.core.pluginManager.hosterPlugins["RealdebridCom"]
- dict["pattern"] = regexp
- dict["re"] = re.compile(regexp)
+ return[x.strip() for x in page.split(",") if x.strip()] \ No newline at end of file
diff --git a/module/plugins/hooks/RehostTo.py b/module/plugins/hooks/RehostTo.py
index 48b0fd826..f0a95d925 100644
--- a/module/plugins/hooks/RehostTo.py
+++ b/module/plugins/hooks/RehostTo.py
@@ -1,12 +1,9 @@
# -*- coding: utf-8 -*-
-import re
from module.network.RequestFactory import getURL
-from module.plugins.Hook import Hook
+from module.common.MultiHoster import MultiHoster
-from module.utils import removeChars
-
-class RehostTo(Hook):
+class RehostTo(MultiHoster):
__name__ = "RehostTo"
__version__ = "0.4"
__type__ = "hook"
@@ -17,24 +14,13 @@ class RehostTo(Hook):
__author_name__ = ("RaNaN")
__author_mail__ = ("RaNaN@pyload.org")
- interval = 0
- hosters = []
-
replacements = [("freakshare.net", "freakshare.com")]
- def getHostersCached(self):
- if not self.hosters:
-
- page = getURL("http://rehost.to/api.php?cmd=get_supported_och_dl&long_ses=%s" % self.long_ses)
+ def getHoster(self):
- self.hosters = [x.strip() for x in page.replace("\"", "").split(",")]
+ page = getURL("http://rehost.to/api.php?cmd=get_supported_och_dl&long_ses=%s" % self.long_ses)
+ return [x.strip() for x in page.replace("\"", "").split(",")]
- for rep in self.replacements:
- if rep[0] in self.hosters:
- self.hosters.remove(rep[0])
- self.hosters.append(rep[1])
-
- return self.hosters
def coreReady(self):
@@ -50,35 +36,4 @@ class RehostTo(Hook):
self.ses = data["ses"]
self.long_ses = data["long_ses"]
- pluginMap = {}
- for name in self.core.pluginManager.hosterPlugins.keys():
- pluginMap[name.lower()] = name
-
- supported = []
- new_supported = []
-
- for hoster in self.getHostersCached():
- name = removeChars(hoster.lower(), "-.")
-
- if name in pluginMap:
- supported.append(pluginMap[name])
- else:
- new_supported.append(hoster)
-
- module = self.core.pluginManager.getPlugin("RehostTo")
- klass = getattr(module, "RehostTo")
- #inject real debrid plugin
- self.core.log.debug("Rehost.to: Overwritten Hosters: %s" % ", ".join(sorted(supported)))
- for hoster in supported:
- dict = self.core.pluginManager.hosterPlugins[hoster]
- dict["new_module"] = module
- dict["new_name"] = "RehostTo"
-
- self.core.log.debug("Rehost.to: New Hosters: %s" % ", ".join(sorted(new_supported)))
-
- #create new regexp
- regexp = r".*(%s).*" % "|".join([klass.__pattern__] + [x.replace(".", "\\.") for x in new_supported])
-
- dict = self.core.pluginManager.hosterPlugins["RehostTo"]
- dict["pattern"] = regexp
- dict["re"] = re.compile(regexp)
+ return MultiHoster.coreReady(self)
diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py
index 2755facb7..2531d7dbe 100644
--- a/module/plugins/hoster/RehostTo.py
+++ b/module/plugins/hoster/RehostTo.py
@@ -1,7 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import re
from urllib import quote, unquote
from module.plugins.Hoster import Hoster