From d3cb016950e6271cdb71b7ac41d8933ab9286079 Mon Sep 17 00:00:00 2001 From: Stefano Date: Mon, 5 May 2014 23:44:16 +0200 Subject: Fixed MegaDebridEu file names --- module/plugins/accounts/MegaDebrid.py | 49 ---------------- module/plugins/accounts/MegaDebridEu.py | 49 ++++++++++++++++ module/plugins/hooks/MegaDebrid.py | 42 -------------- module/plugins/hooks/MegaDebridEu.py | 42 ++++++++++++++ module/plugins/hoster/MegaDebrid.py | 100 -------------------------------- module/plugins/hoster/MegaDebridEu.py | 100 ++++++++++++++++++++++++++++++++ 6 files changed, 191 insertions(+), 191 deletions(-) delete mode 100644 module/plugins/accounts/MegaDebrid.py create mode 100644 module/plugins/accounts/MegaDebridEu.py delete mode 100644 module/plugins/hooks/MegaDebrid.py create mode 100644 module/plugins/hooks/MegaDebridEu.py delete mode 100644 module/plugins/hoster/MegaDebrid.py create mode 100644 module/plugins/hoster/MegaDebridEu.py (limited to 'module/plugins') diff --git a/module/plugins/accounts/MegaDebrid.py b/module/plugins/accounts/MegaDebrid.py deleted file mode 100644 index 053b6020c..000000000 --- a/module/plugins/accounts/MegaDebrid.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################ -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU Affero General Public License as # -# published by the Free Software Foundation, either version 3 of the # -# License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Affero General Public License for more details. # -# # -# You should have received a copy of the GNU Affero General Public License # -# along with this program. If not, see . # -############################################################################ - -from module.plugins.Account import Account -from module.common.json_layer import json_loads - - -class MegaDebridEu(Account): - __name__ = "MegaDebridEu" - __version__ = "0.1" - __type__ = "account" - __description__ = """mega-debrid.eu account plugin""" - __author_name__ = "D.Ducatel" - __author_mail__ = "dducatel@je-geek.fr" - - # Define the base URL of MegaDebrid api - API_URL = "https://www.mega-debrid.eu/api.php" - - def loadAccountInfo(self, user, req): - data = self.getAccountData(user) - jsonResponse = req.load(self.API_URL, - get={'action': 'connectUser', 'login': user, 'password': data["password"]}) - response = json_loads(jsonResponse) - - if response["response_code"] == "ok": - return {"premium": True, "validuntil": float(response["vip_end"]), "status": True} - else: - self.logError(response) - return {"status": False, "premium": False} - - def login(self, user, data, req): - jsonResponse = req.load(self.API_URL, - get={'action': 'connectUser', 'login': user, 'password': data["password"]}) - response = json_loads(jsonResponse) - if response["response_code"] != "ok": - self.wrongPassword() diff --git a/module/plugins/accounts/MegaDebridEu.py b/module/plugins/accounts/MegaDebridEu.py new file mode 100644 index 000000000..1fbe00ff7 --- /dev/null +++ b/module/plugins/accounts/MegaDebridEu.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################ +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see . # +############################################################################ + +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class MegaDebridEu(Account): + __name__ = "MegaDebridEu" + __version__ = "0.2" + __type__ = "account" + __description__ = """mega-debrid.eu account plugin""" + __author_name__ = "D.Ducatel" + __author_mail__ = "dducatel@je-geek.fr" + + # Define the base URL of MegaDebrid api + API_URL = "https://www.mega-debrid.eu/api.php" + + def loadAccountInfo(self, user, req): + data = self.getAccountData(user) + jsonResponse = req.load(self.API_URL, + get={'action': 'connectUser', 'login': user, 'password': data["password"]}) + response = json_loads(jsonResponse) + + if response["response_code"] == "ok": + return {"premium": True, "validuntil": float(response["vip_end"]), "status": True} + else: + self.logError(response) + return {"status": False, "premium": False} + + def login(self, user, data, req): + jsonResponse = req.load(self.API_URL, + get={'action': 'connectUser', 'login': user, 'password': data["password"]}) + response = json_loads(jsonResponse) + if response["response_code"] != "ok": + self.wrongPassword() diff --git a/module/plugins/hooks/MegaDebrid.py b/module/plugins/hooks/MegaDebrid.py deleted file mode 100644 index 19e6b22b2..000000000 --- a/module/plugins/hooks/MegaDebrid.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################ -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU Affero General Public License as # -# published by the Free Software Foundation, either version 3 of the # -# License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Affero General Public License for more details. # -# # -# You should have received a copy of the GNU Affero General Public License # -# along with this program. If not, see . # -############################################################################ - -from module.plugins.internal.MultiHoster import MultiHoster -from module.network.RequestFactory import getURL -from module.common.json_layer import json_loads - - -class MegaDebridEu(MultiHoster): - __name__ = "MegaDebridEu" - __version__ = "0.01" - __type__ = "hook" - __config__ = [("activated", "bool", "Activated", False), - ("unloadFailing", "bool", "Revert to standard download if download fails", False)] - __description__ = """mega-debrid.eu hook plugin""" - __author_name__ = "D.Ducatel" - __author_mail__ = "dducatel@je-geek.fr" - - def getHoster(self): - reponse = getURL('http://www.mega-debrid.eu/api.php?action=getHosters') - json_data = json_loads(reponse) - - if json_data["response_code"] == "ok": - host_list = [element[0] for element in json_data['hosters']] - else: - self.logError("Unable to retrieve hoster list") - host_list = list() - - return host_list diff --git a/module/plugins/hooks/MegaDebridEu.py b/module/plugins/hooks/MegaDebridEu.py new file mode 100644 index 000000000..0c3bb99f6 --- /dev/null +++ b/module/plugins/hooks/MegaDebridEu.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################ +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see . # +############################################################################ + +from module.plugins.internal.MultiHoster import MultiHoster +from module.network.RequestFactory import getURL +from module.common.json_layer import json_loads + + +class MegaDebridEu(MultiHoster): + __name__ = "MegaDebridEu" + __version__ = "0.02" + __type__ = "hook" + __config__ = [("activated", "bool", "Activated", False), + ("unloadFailing", "bool", "Revert to standard download if download fails", False)] + __description__ = """mega-debrid.eu hook plugin""" + __author_name__ = "D.Ducatel" + __author_mail__ = "dducatel@je-geek.fr" + + def getHoster(self): + reponse = getURL('http://www.mega-debrid.eu/api.php?action=getHosters') + json_data = json_loads(reponse) + + if json_data["response_code"] == "ok": + host_list = [element[0] for element in json_data['hosters']] + else: + self.logError("Unable to retrieve hoster list") + host_list = list() + + return host_list diff --git a/module/plugins/hoster/MegaDebrid.py b/module/plugins/hoster/MegaDebrid.py deleted file mode 100644 index d5ff971ca..000000000 --- a/module/plugins/hoster/MegaDebrid.py +++ /dev/null @@ -1,100 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################ -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU Affero General Public License as # -# published by the Free Software Foundation, either version 3 of the # -# License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Affero General Public License for more details. # -# # -# You should have received a copy of the GNU Affero General Public License # -# along with this program. If not, see . # -############################################################################ - -import re -from urllib import unquote - -from module.plugins.Hoster import Hoster -from module.common.json_layer import json_loads - - -class MegaDebridEu(Hoster): - __name__ = "MegaDebridEu" - __version__ = "0.1" - __type__ = "hoster" - __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' - __description__ = """mega-debrid.eu hoster plugin""" - __author_name__ = "D.Ducatel" - __author_mail__ = "dducatel@je-geek.fr" - - # Define the base URL of MegaDebrid api - API_URL = "https://www.mega-debrid.eu/api.php" - - def getFilename(self, url): - try: - return unquote(url.rsplit("/", 1)[1]) - except IndexError: - return "" - - def process(self, pyfile): - if re.match(self.__pattern__, pyfile.url): - new_url = pyfile.url - elif not self.account: - self.exitOnFail(_("Please enter your %s account or deactivate this plugin") % "Mega-debrid.eu") - else: - if not self.connectToApi(): - self.exitOnFail(_("Impossible to connect to %s") % "Mega-debrid.eu") - - self.logDebug("Old URL: %s" % pyfile.url) - new_url = self.debridLink(pyfile.url) - self.logDebug("New URL: " + new_url) - - filename = self.getFilename(new_url) - if filename != "": - pyfile.name = filename - self.download(new_url, disposition=True) - - def connectToApi(self): - """ - Connexion to the mega-debrid API - Return True if succeed - """ - user, data = self.account.selectAccount() - jsonResponse = self.load(self.API_URL, - get={'action': 'connectUser', 'login': user, 'password': data["password"]}) - response = json_loads(jsonResponse) - - if response["response_code"] == "ok": - self.token = response["token"] - return True - else: - return False - - def debridLink(self, linkToDebrid): - """ - Debrid a link - Return The debrided link if succeed or original link if fail - """ - jsonResponse = self.load(self.API_URL, get={'action': 'getLink', 'token': self.token}, - post={"link": linkToDebrid}) - response = json_loads(jsonResponse) - - if response["response_code"] == "ok": - debridedLink = response["debridLink"][1:-1] - return debridedLink - else: - self.exitOnFail(_("Impossible to debrid %s") % linkToDebrid) - - def exitOnFail(self, msg): - """ - exit the plugin on fail case - And display the reason of this failure - """ - if self.getConfig("unloadFailing"): - self.logError(msg) - self.resetAccount() - else: - self.fail(msg) diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py new file mode 100644 index 000000000..73c553896 --- /dev/null +++ b/module/plugins/hoster/MegaDebridEu.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +############################################################################ +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see . # +############################################################################ + +import re +from urllib import unquote + +from module.plugins.Hoster import Hoster +from module.common.json_layer import json_loads + + +class MegaDebridEu(Hoster): + __name__ = "MegaDebridEu" + __version__ = "0.2" + __type__ = "hoster" + __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' + __description__ = """mega-debrid.eu hoster plugin""" + __author_name__ = "D.Ducatel" + __author_mail__ = "dducatel@je-geek.fr" + + # Define the base URL of MegaDebrid api + API_URL = "https://www.mega-debrid.eu/api.php" + + def getFilename(self, url): + try: + return unquote(url.rsplit("/", 1)[1]) + except IndexError: + return "" + + def process(self, pyfile): + if re.match(self.__pattern__, pyfile.url): + new_url = pyfile.url + elif not self.account: + self.exitOnFail(_("Please enter your %s account or deactivate this plugin") % "Mega-debrid.eu") + else: + if not self.connectToApi(): + self.exitOnFail(_("Impossible to connect to %s") % "Mega-debrid.eu") + + self.logDebug("Old URL: %s" % pyfile.url) + new_url = self.debridLink(pyfile.url) + self.logDebug("New URL: " + new_url) + + filename = self.getFilename(new_url) + if filename != "": + pyfile.name = filename + self.download(new_url, disposition=True) + + def connectToApi(self): + """ + Connexion to the mega-debrid API + Return True if succeed + """ + user, data = self.account.selectAccount() + jsonResponse = self.load(self.API_URL, + get={'action': 'connectUser', 'login': user, 'password': data["password"]}) + response = json_loads(jsonResponse) + + if response["response_code"] == "ok": + self.token = response["token"] + return True + else: + return False + + def debridLink(self, linkToDebrid): + """ + Debrid a link + Return The debrided link if succeed or original link if fail + """ + jsonResponse = self.load(self.API_URL, get={'action': 'getLink', 'token': self.token}, + post={"link": linkToDebrid}) + response = json_loads(jsonResponse) + + if response["response_code"] == "ok": + debridedLink = response["debridLink"][1:-1] + return debridedLink + else: + self.exitOnFail(_("Impossible to debrid %s") % linkToDebrid) + + def exitOnFail(self, msg): + """ + exit the plugin on fail case + And display the reason of this failure + """ + if self.getConfig("unloadFailing"): + self.logError(msg) + self.resetAccount() + else: + self.fail(msg) -- cgit v1.2.3