Re-enabled MCD support

This commit is contained in:
Paweł Jastrzębski committed 2015-01-21 19:15:38 +01:00
1 parent 5a36a13105
commit c62eeeb712
2 files changed
+13 -20

No files matched your search

+10 -10
View File
@@ -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
+3 -10
View File
@@ -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')