mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #1716 (LIT: Chapter mark switch ignored and rule (<hr>) is displayed)
This commit is contained in:
parent
e82972af80
commit
17957bab84
@ -561,27 +561,15 @@ class Processor(Parser):
|
||||
for elem in self.detected_chapters:
|
||||
text = u' '.join([t.strip() for t in elem.xpath('descendant::text()')])
|
||||
self.log_info('\tDetected chapter: %s', text[:50])
|
||||
if self.opts.chapter_mark != 'none':
|
||||
hr = etree.Element('hr')
|
||||
if elem.getprevious() is None:
|
||||
elem.getparent()[:0] = [hr]
|
||||
elif elem.getparent() is not None:
|
||||
insert = None
|
||||
for i, c in enumerate(elem.getparent()):
|
||||
if c is elem:
|
||||
insert = i
|
||||
break
|
||||
elem.getparent()[insert:insert] = [hr]
|
||||
if self.opts.chapter_mark != 'rule':
|
||||
hr.set('style', 'width:0pt;page-break-before:always')
|
||||
if self.opts.chapter_mark == 'both':
|
||||
hr2 = etree.Element('hr')
|
||||
hr2.tail = u'\u00a0'
|
||||
p = hr.getparent()
|
||||
i = p.index(hr)
|
||||
p[i:i] = [hr2]
|
||||
|
||||
|
||||
chapter_mark = self.opts.chapter_mark
|
||||
if chapter_mark != 'none':
|
||||
tag = 'hr' if chapter_mark != 'pagebreak' else 'br'
|
||||
mark = etree.Element(tag)
|
||||
elem.addprevious(mark)
|
||||
if chapter_mark == 'both':
|
||||
mark.set('style', 'page-break-before: always')
|
||||
elif chapter_mark == 'pagebreak':
|
||||
mark.set('style', 'page-break-after: always')
|
||||
|
||||
def save(self):
|
||||
style_path = os.path.splitext(os.path.basename(self.save_path()))[0]
|
||||
|
Loading…
x
Reference in New Issue
Block a user