summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/MegaDebridEu.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/MegaDebridEu.py')
-rw-r--r--module/plugins/hoster/MegaDebridEu.py54
1 files changed, 12 insertions, 42 deletions
diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py
index 8bbc733e0..9c8cc2a90 100644
--- a/module/plugins/hoster/MegaDebridEu.py
+++ b/module/plugins/hoster/MegaDebridEu.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote_plus
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
@@ -11,9 +10,10 @@ from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
class MegaDebridEu(MultiHoster):
__name__ = "MegaDebridEu"
__type__ = "hoster"
- __version__ = "0.46"
+ __version__ = "0.47"
__pattern__ = r'http://((?:www\d+\.|s\d+\.)?mega-debrid\.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[\w^_]+'
+ __config__ = [("use_premium", "bool", "Use premium account if available", True)]
__description__ = """mega-debrid.eu multi-hoster plugin"""
__license__ = "GPLv3"
@@ -23,25 +23,6 @@ class MegaDebridEu(MultiHoster):
API_URL = "https://www.mega-debrid.eu/api.php"
- def getFilename(self, url):
- try:
- return unquote_plus(url.rsplit("/", 1)[1])
- except IndexError:
- return ""
-
-
- def handlePremium(self, pyfile):
- if not self.api_load():
- self.exitOnFail("Unable to connect to Mega-debrid.eu")
-
- self.link = self.debridLink(pyfile.url)
- self.logDebug("New URL: " + self.link)
-
- filename = self.getFilename(self.link)
- if filename != "":
- pyfile.name = filename
-
-
def api_load(self):
"""
Connexion to the mega-debrid API
@@ -59,32 +40,21 @@ class MegaDebridEu(MultiHoster):
return False
- def debridLink(self, linkToDebrid):
+ def handlePremium(self, pyfile):
"""
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})
- res = json_loads(jsonResponse)
-
- if res['response_code'] == "ok":
- debridedLink = res['debridLink'][1:-1]
- return debridedLink
- else:
- self.exitOnFail("Unable to debrid %s" % linkToDebrid)
+ if not self.api_load():
+ self.error("Unable to connect to remote API")
+ jsonResponse = self.load(self.API_URL,
+ get={'action': 'getLink', 'token': self.token},
+ post={'link': pyfile.url})
- 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))
+ res = json_loads(jsonResponse)
+ if res['response_code'] == "ok":
+ self.link = res['debridLink'][1:-1]
getInfo = create_getInfo(MegaDebridEu)