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:
@@ -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
|
||||
|
||||
13
kcc/image.py
13
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')
|
||||
|
||||
Reference in New Issue
Block a user