mirror of
https://github.com/JonathanHerrewijnen/calibre-web.git
synced 2024-11-14 15:14:07 +00:00
added python3 compatibility for comic reader
This commit is contained in:
parent
9f8cbe8c1f
commit
ec12181803
22
cps/web.py
22
cps/web.py
@ -99,6 +99,9 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
from flask_login.__about__ import __version__ as flask_loginVersion
|
from flask_login.__about__ import __version__ as flask_loginVersion
|
||||||
|
|
||||||
|
if sys.version_info.major >= 3:
|
||||||
|
import codecs
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
current_milli_time = lambda: int(round(time.time() * 1000))
|
current_milli_time = lambda: int(round(time.time() * 1000))
|
||||||
@ -931,25 +934,38 @@ def get_comic_book(book_id, book_format, page):
|
|||||||
try:
|
try:
|
||||||
rf = rarfile.RarFile(cbr_file)
|
rf = rarfile.RarFile(cbr_file)
|
||||||
rarNames = rf.namelist()
|
rarNames = rf.namelist()
|
||||||
extractedfile="data:image/png;base64," + (rf.read(rarNames[page])).encode('base64')
|
if sys.version_info.major >= 3:
|
||||||
|
b64 = codecs.encode(rf.read(rarNames[page]), 'base64').decode()
|
||||||
|
else:
|
||||||
|
b64 = rf.read(rarNames[page]).encode('base64')
|
||||||
|
extractedfile="data:image/png;base64," + b64
|
||||||
fileData={"name": rarNames[page],"page":page, "last":rarNames.__len__()-1, "content": extractedfile}
|
fileData={"name": rarNames[page],"page":page, "last":rarNames.__len__()-1, "content": extractedfile}
|
||||||
except:
|
except:
|
||||||
return ""
|
return ""
|
||||||
# rarfile not valid
|
# rarfile not valid
|
||||||
# ToDo: error handling
|
# ToDo: error handling
|
||||||
else:
|
else:
|
||||||
|
|
||||||
# no support means return nothing
|
# no support means return nothing
|
||||||
return ""
|
return ""
|
||||||
if book_format == "cbz":
|
if book_format == "cbz":
|
||||||
zf = zipfile.ZipFile(cbr_file)
|
zf = zipfile.ZipFile(cbr_file)
|
||||||
zipNames=zf.namelist()
|
zipNames=zf.namelist()
|
||||||
extractedfile="data:image/png;base64," + (zf.read(zipNames[page])).encode('base64')
|
if sys.version_info.major >= 3:
|
||||||
|
b64 = codecs.encode(zf.read(zipNames[page]), 'base64').decode()
|
||||||
|
else:
|
||||||
|
b64 = zf.read(zipNames[page]).encode('base64')
|
||||||
|
extractedfile="data:image/png;base64," + b64
|
||||||
fileData={"name": zipNames[page],"page":page, "last":zipNames.__len__()-1, "content": extractedfile}
|
fileData={"name": zipNames[page],"page":page, "last":zipNames.__len__()-1, "content": extractedfile}
|
||||||
|
|
||||||
if book_format == "cbt":
|
if book_format == "cbt":
|
||||||
tf = tarfile.TarFile(u'D:\\zip\\test.cbt')
|
tf = tarfile.TarFile(u'D:\\zip\\test.cbt')
|
||||||
tarNames=tf.getnames()
|
tarNames=tf.getnames()
|
||||||
extractedfile="data:image/png;base64," + (tf.extractfile(tarNames[page]).read()).encode('base64')
|
if sys.version_info.major >= 3:
|
||||||
|
b64 = codecs.encode(tf.extractfile(tarNames[page]).read(), 'base64').decode()
|
||||||
|
else:
|
||||||
|
b64 = (tf.extractfile(tarNames[page]).read()).encode('base64')
|
||||||
|
extractedfile="data:image/png;base64," + bs
|
||||||
fileData={"name": tarNames[page],"page":page, "last":tarNames.__len__()-1, "content": extractedfile}
|
fileData={"name": tarNames[page],"page":page, "last":tarNames.__len__()-1, "content": extractedfile}
|
||||||
return make_response(json.dumps(fileData))
|
return make_response(json.dumps(fileData))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user