diff --git a/kcc/comic2ebook.py b/kcc/comic2ebook.py index 9c31aa3..ff62425 100755 --- a/kcc/comic2ebook.py +++ b/kcc/comic2ebook.py @@ -24,7 +24,7 @@ from copy import copy from glob import glob from json import loads from urllib.request import Request, urlopen -from re import split, sub +from re import split, sub, compile from stat import S_IWRITE, S_IREAD, S_IEXEC from zipfile import ZipFile, ZIP_STORED, ZIP_DEFLATED from tempfile import mkdtemp @@ -675,23 +675,23 @@ def getComicInfo(path, originalPath): options.authors.sort() else: options.authors = ['KCC'] - # Disabled due to closure of MCD - # if len(xml.getElementsByTagName('ScanInformation')) != 0: - # coverId = xml.getElementsByTagName('ScanInformation')[0].firstChild.nodeValue - # coverId = compile('(MCD\\()(\\d+)(\\))').search(coverId) - # if coverId: - # options.remoteCovers = getCoversFromMCB(coverId.group(2)) + if len(xml.getElementsByTagName('ScanInformation')) != 0: + coverId = xml.getElementsByTagName('ScanInformation')[0].firstChild.nodeValue + coverId = compile('(MCD\\()(\\d+)(\\))').search(coverId) + if coverId: + options.remoteCovers = getCoversFromMCB(coverId.group(2)) os.remove(xmlPath) def getCoversFromMCB(mangaID): covers = {} try: - jsonRaw = urlopen(Request('http://manga.joentjuh.nl/json/series/' + mangaID + '/', + jsonRaw = urlopen(Request('http://mcd.iosphe.re/api/v1/series/' + mangaID + '/', headers={'User-Agent': 'KindleComicConverter/' + __version__})) jsonData = loads(jsonRaw.readall().decode('utf-8')) - for volume in jsonData['volumes']: - covers[int(volume['volume'])] = volume['releases'][0]['files']['front']['url'] + for volume in jsonData['Covers']['a']: + if volume['Side'] == 'front': + covers[int(volume['Volume'])] = volume['Raw'] except Exception: return {} return covers diff --git a/kcc/image.py b/kcc/image.py index 2523c06..8ba8f09 100755 --- a/kcc/image.py +++ b/kcc/image.py @@ -508,7 +508,7 @@ class Cover: def processExternal(self): self.image = self.image.convert('RGB') self.image.thumbnail(self.options.profileData[1], Image.LANCZOS) - self.save(True) + self.save() def trim(self): bg = Image.new(self.image.mode, self.image.size, self.image.getpixel((0, 0))) @@ -520,15 +520,8 @@ class Cover: else: return self.image - def save(self, external=False): - if external: - source = self.options.remoteCovers[self.tomeNumber].split('/')[-1] - else: - source = self.source + def save(self): try: - if os.path.splitext(source)[1].lower() == '.png': - self.image.save(self.target, "PNG", optimize=1) - else: - self.image.save(self.target, "JPEG", optimize=1, quality=80) + self.image.save(self.target, "JPEG", optimize=1, quality=80) except IOError: raise RuntimeError('Failed to save cover')