windows pathnames
This commit is contained in:
parent
5f1325c7aa
commit
5dead44107
5 changed files with 38 additions and 8 deletions
|
|
@ -28,6 +28,9 @@ def get_ratio(data):
|
|||
except:
|
||||
return -1
|
||||
|
||||
def normpath(path):
|
||||
return '/'.join(os.path.normpath(path).split(os.sep))
|
||||
|
||||
def cover(path):
|
||||
logger.debug('cover %s', path)
|
||||
data = None
|
||||
|
|
@ -69,7 +72,7 @@ def cover(path):
|
|||
for e in manifest.getchildren():
|
||||
if e.attrib['id'] == cover_id:
|
||||
filename = unquote(e.attrib['href'])
|
||||
filename = os.path.normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
filename = normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
if filename in files:
|
||||
return use(filename)
|
||||
if manifest:
|
||||
|
|
@ -78,7 +81,7 @@ def cover(path):
|
|||
image_data = []
|
||||
for e in images:
|
||||
filename = unquote(e.attrib['href'])
|
||||
filename = os.path.normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
filename = normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
if filename in files:
|
||||
image_data.append(filename)
|
||||
if image_data:
|
||||
|
|
@ -87,14 +90,14 @@ def cover(path):
|
|||
for e in manifest.getchildren():
|
||||
if 'html' in e.attrib['media-type']:
|
||||
filename = unquote(e.attrib['href'])
|
||||
filename = os.path.normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
filename = normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
html = z.read(filename).decode('utf-8', 'ignore')
|
||||
img = re.compile('<img.*?src="(.*?)"').findall(html)
|
||||
#svg image
|
||||
img += re.compile('<image.*?href="(.*?)"').findall(html)
|
||||
if img:
|
||||
img = unquote(img[0])
|
||||
img = os.path.normpath(os.path.join(os.path.dirname(filename), img))
|
||||
img = normpath(os.path.join(os.path.dirname(filename), img))
|
||||
if img in files:
|
||||
return use(img)
|
||||
return data
|
||||
|
|
@ -152,7 +155,7 @@ def info(epub):
|
|||
for ref in guide.findall('{http://www.idpf.org/2007/opf}reference'):
|
||||
if ref.attrib.get('type') == 'toc':
|
||||
filename = unquote(ref.attrib['href']).split('#')[0]
|
||||
filename = os.path.normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
filename = normpath(os.path.join(os.path.dirname(opf[0]), filename))
|
||||
if filename in files:
|
||||
toc = z.read(filename)
|
||||
if toc:
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ from PyPDF2 import PdfFileReader
|
|||
import ox
|
||||
|
||||
import settings
|
||||
from utils import get_language, to_isbn13, find_isbns
|
||||
from utils import get_language, to_isbn13, find_isbns, get_short_path_name
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
|
@ -51,6 +51,8 @@ def ql_cover(pdf):
|
|||
|
||||
def page(pdf, page):
|
||||
tmp = tempfile.mkdtemp()
|
||||
if sys.platform == 'win32':
|
||||
pdf = get_short_path_name(pdf)
|
||||
cmd = [
|
||||
'pdftocairo',
|
||||
pdf,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue