diff options
Diffstat (limited to 'module/plugins/hoster/GamefrontCom.py')
-rw-r--r-- | module/plugins/hoster/GamefrontCom.py | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index 34fda09d2..a76eb9b2f 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -3,6 +3,7 @@ from module.plugins.Hoster import Hoster from module.network.RequestFactory import getURL from module.utils import parseFileSize + class GamefrontCom(Hoster): __name__ = "GamefrontCom" __type__ = "hoster" @@ -11,12 +12,12 @@ class GamefrontCom(Hoster): __description__ = """gamefront.com hoster plugin""" __author_name__ = ("fwannmacher") __author_mail__ = ("felipe@warhammerproject.com") - + HOSTER_NAME = "gamefront.com" PATTERN_FILENAME = r'<title>(.*?) | Game Front' PATTERN_FILESIZE = r'<dt>File Size:</dt>[\n\s]*<dd>(.*?)</dd>' PATTERN_OFFLINE = "This file doesn't exist, or has been removed." - + def setup(self): self.resumeDownload = True self.multiDL = False @@ -27,54 +28,56 @@ class GamefrontCom(Hoster): if not self._checkOnline(): self.offline() - + self.pyfile.name = self._getName() - + self.link = self._getLink() - + if not self.link.startswith('http://'): self.link = "http://www.gamefront.com/" + self.link - self.download(self.link) + self.download(self.link) def _checkOnline(self): if re.search(self.PATTERN_OFFLINE, self.html): return False else: return True - + def _getName(self): name = re.search(self.PATTERN_FILENAME, self.html) if name is None: self.fail("%s: Plugin broken." % self.__name__) return name.group(1) - - def _getLink(self): - self.html2 = self.load("http://www.gamefront.com/" + re.search("(files/service/thankyou\\?id=[A-Za-z0-9]+)", self.html).group(1)) + + def _getLink(self): + self.html2 = self.load("http://www.gamefront.com/" + re.search("(files/service/thankyou\\?id=[A-Za-z0-9]+)", + self.html).group(1)) self.link = re.search("<a href=\"(http://media[0-9]+\.gamefront.com/.*)\">click here</a>", self.html2) return self.link.group(1).replace("&", "&") + def getInfo(urls): result = [] - - for url in urls: + + for url in urls: html = getURL(url) - + if re.search(GamefrontCom.PATTERN_OFFLINE, html): result.append((url, 0, 1, url)) else: name = re.search(GamefrontCom.PATTERN_FILENAME, html) - + if name is None: result.append((url, 0, 1, url)) continue - + name = name.group(1) size = re.search(GamefrontCom.PATTERN_FILESIZE, html) - size = parseFileSize(size.group(1)) - + size = parseFileSize(size.group(1)) + result.append((name, size, 3, url)) - yield result
\ No newline at end of file + yield result |