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 @@ def get_id(chapter, counter, prefix='calibre_css_'):
classname = 'calibre_class_%d'%class_counter
class_counter += 1
cache[setting] = classname
cn = elem.get('class', '')
cn = elem.get('class', classname)
elem.set('class', cn)
elem.attrib.pop('style')

View file

@ -207,7 +207,8 @@ def flatten_node(self, node, stylizer, names, styles, psize, left=0):
items = cssdict.items()
items.sort()
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:
match = styles[css]
else: