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