1
0
mirror of https://github.com/ciromattia/kcc synced 2026-01-08 22:39:35 +00:00

Re-enabled MCD support

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

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

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')