This commit is contained in:
Kovid Goyal 2009-01-25 14:37:52 -08:00
commit a2fe167b54
4 changed files with 7 additions and 4 deletions

View File

@ -836,7 +836,7 @@ class Processor(Parser):
classname = 'calibre_class_%d'%class_counter classname = 'calibre_class_%d'%class_counter
class_counter += 1 class_counter += 1
cache[setting] = classname cache[setting] = classname
cn = elem.get('class', '') cn = elem.get('class', classname)
elem.set('class', cn) elem.set('class', cn)
elem.attrib.pop('style') elem.attrib.pop('style')

View File

@ -122,6 +122,8 @@ LZXC_CONTROL = \
COLLAPSE = re.compile(r'[ \t\r\n\v]+') COLLAPSE = re.compile(r'[ \t\r\n\v]+')
PAGE_BREAKS = set(['always', 'left', 'right'])
def decint(value): def decint(value):
bytes = [] bytes = []
while True: while True:
@ -202,7 +204,7 @@ class ReBinary(object):
self.write(FLAG_CUSTOM, len(tag)+1, tag) self.write(FLAG_CUSTOM, len(tag)+1, tag)
last_break = self.page_breaks[-1][0] if self.page_breaks else None last_break = self.page_breaks[-1][0] if self.page_breaks else None
if style and last_break != tag_offset \ if style and last_break != tag_offset \
and style['page-break-before'] not in ('avoid', 'auto'): and style['page-break-before'] in PAGE_BREAKS:
self.page_breaks.append((tag_offset, list(parents))) self.page_breaks.append((tag_offset, list(parents)))
for attr, value in attrib.items(): for attr, value in attrib.items():
attr = prefixname(attr, nsrmap) attr = prefixname(attr, nsrmap)

View File

@ -27,7 +27,7 @@ TABLE_TAGS = set(['table', 'tr', 'td', 'th'])
SPECIAL_TAGS = set(['hr', 'br']) SPECIAL_TAGS = set(['hr', 'br'])
CONTENT_TAGS = set(['img', 'hr', 'br']) CONTENT_TAGS = set(['img', 'hr', 'br'])
PAGE_BREAKS = set(['always', 'odd', 'even']) PAGE_BREAKS = set(['always', 'left', 'right'])
COLLAPSE = re.compile(r'[ \t\r\n\v]+') COLLAPSE = re.compile(r'[ \t\r\n\v]+')

View File

@ -207,7 +207,8 @@ class CSSFlattener(object):
items = cssdict.items() items = cssdict.items()
items.sort() items.sort()
css = u';\n'.join(u'%s: %s' % (key, val) for key, val in items) css = u';\n'.join(u'%s: %s' % (key, val) for key, val in items)
klass = STRIPNUM.sub('', node.get('class', 'calibre').split()[0]) classes = node.get('class', None) or 'calibre'
klass = STRIPNUM.sub('', classes.split()[0])
if css in styles: if css in styles:
match = styles[css] match = styles[css]
else: else: