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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue