Make preserving of tag structure when splitting optional

This commit is contained in:
Kovid Goyal 2008-10-07 20:44:23 -07:00
parent 0ee92d0cbf
commit d2e2723d4f
4 changed files with 41 additions and 33 deletions

View File

@ -123,6 +123,8 @@ to auto-generate a Table of Contents.
help=_('The base font size in pts. Default is %defaultpt. Set to 0 to disable rescaling of fonts.')) help=_('The base font size in pts. Default is %defaultpt. Set to 0 to disable rescaling of fonts.'))
layout('remove_paragraph_spacing', ['--remove-paragraph-spacing'], default=True, layout('remove_paragraph_spacing', ['--remove-paragraph-spacing'], default=True,
help=_('Remove spacing between paragraphs. Will not work if the source file forces inter-paragraph spacing.')) help=_('Remove spacing between paragraphs. Will not work if the source file forces inter-paragraph spacing.'))
layout('preserve_tag_structure', ['--preserve-tag-structure'], default=False,
help=_('Preserve the HTML tag structure while splitting large HTML files. This is only neccessary if the HTML files contain CSS that uses sibling selectors. Enabling this greatly slows down processing of large HTML files.'))
c.add_opt('show_opf', ['--show-opf'], default=False, group='debug', c.add_opt('show_opf', ['--show-opf'], default=False, group='debug',
help=_('Print generated OPF file to stdout')) help=_('Print generated OPF file to stdout'))

View File

@ -34,7 +34,6 @@ def mobi2opf(path, tdir, opts):
reader = MobiReader(path) reader = MobiReader(path)
reader.extract_content(tdir) reader.extract_content(tdir)
files = list(walk(tdir)) files = list(walk(tdir))
opts.dont_preserve_structure = True
opts.encoding = 'utf-8' opts.encoding = 'utf-8'
for f in files: for f in files:
if f.lower().endswith('.opf'): if f.lower().endswith('.opf'):

View File

@ -382,7 +382,7 @@ def split(pathtoopf, opts, stylesheet_map):
item.set('href', item.get('href').replace('&', '%26')) item.set('href', item.get('href').replace('&', '%26'))
html_files.append(f) html_files.append(f)
changes = [] changes = []
always_remove = getattr(opts, 'dont_preserve_structure', False) always_remove = not opts.preserve_tag_structure
for f in html_files: for f in html_files:
if os.stat(content(f)).st_size > opts.profile.flow_size: if os.stat(content(f)).st_size > opts.profile.flow_size:
try: try:

View File

@ -77,7 +77,7 @@
<item> <item>
<widget class="QStackedWidget" name="stack" > <widget class="QStackedWidget" name="stack" >
<property name="currentIndex" > <property name="currentIndex" >
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="metadata_page" > <widget class="QWidget" name="metadata_page" >
<layout class="QGridLayout" name="gridLayout_4" > <layout class="QGridLayout" name="gridLayout_4" >
@ -89,6 +89,36 @@
<string>Book Cover</string> <string>Book Cover</string>
</property> </property>
<layout class="QGridLayout" name="_2" > <layout class="QGridLayout" name="_2" >
<item row="0" column="0" >
<layout class="QHBoxLayout" name="_3" >
<item>
<widget class="ImageView" name="cover" >
<property name="text" >
<string/>
</property>
<property name="pixmap" >
<pixmap resource="../images.qrc" >:/images/book.svg</pixmap>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" >
<widget class="QCheckBox" name="opt_prefer_metadata_cover" >
<property name="text" >
<string>Use cover from &amp;source file</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" > <item row="1" column="0" >
<layout class="QVBoxLayout" name="_4" > <layout class="QVBoxLayout" name="_4" >
<property name="spacing" > <property name="spacing" >
@ -140,36 +170,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="2" column="0" >
<widget class="QCheckBox" name="opt_prefer_metadata_cover" >
<property name="text" >
<string>Use cover from &amp;source file</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0" >
<layout class="QHBoxLayout" name="_3" >
<item>
<widget class="ImageView" name="cover" >
<property name="text" >
<string/>
</property>
<property name="pixmap" >
<pixmap resource="../images.qrc" >:/images/book.svg</pixmap>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
<zorder>opt_prefer_metadata_cover</zorder> <zorder>opt_prefer_metadata_cover</zorder>
<zorder></zorder> <zorder></zorder>
@ -449,6 +449,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" >
<widget class="QCheckBox" name="opt_preserve_tag_structure" >
<property name="text" >
<string>Preserve &amp;tag structure when splitting</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>