any2* shouldn't emit empty 'class' attributes. CSSFlattener should handle empty 'class' attributes.

This commit is contained in:
Marshall T. Vandegrift 2009-01-25 17:15:27 -05:00
parent e7e69f18d8
commit a27ed258dc
2 changed files with 3 additions and 2 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

@ -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: