From 7dd4cebde15d44eac85a8b0428bdd836d0929e62 Mon Sep 17 00:00:00 2001 From: shirshasa Date: Fri, 2 Jul 2021 12:32:36 +0300 Subject: [PATCH] epub converter: fix wrapping

with bg color --- src/css_reader.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/css_reader.py b/src/css_reader.py index 4a4e724..dafa100 100644 --- a/src/css_reader.py +++ b/src/css_reader.py @@ -219,7 +219,7 @@ def add_inline_style_to_html_soup(soup1, css_text): return style_ def wrap_p_if_bg_color(t): - if (t.name == 'p') and ('background' in t.attrs.get('style')): + if (t.name == 'p' and t.attrs.get('style')) and ('background' in t.attrs.get('style')): t.name = 'span' t.wrap( BeautifulSoup(features='lxml').new_tag('p')) @@ -246,23 +246,24 @@ def add_inline_style_to_html_soup(soup1, css_text): new_tags[-1].wrap(new_tag) new_tags.append(new_tag) + top_tag = tag if to_remove: style = style.strip() tmp_attrs = tag.attrs.copy() tag.attrs = {} - span_tag = BeautifulSoup(features='lxml').new_tag(tag_initial_name) - span_tag.attrs = tmp_attrs + top_tag = BeautifulSoup(features='lxml').new_tag(tag_initial_name) + top_tag.attrs = tmp_attrs if style: - span_tag.attrs['style'] = style - del span_tag.attrs['livecarta_id'] + top_tag.attrs['style'] = style + del top_tag.attrs['livecarta_id'] - new_tags[-1].wrap(span_tag) + new_tags[-1].wrap(top_tag) else: tag.attrs['style'] = style del tag.attrs['livecarta_id'] - wrap_p_if_bg_color(tag) + wrap_p_if_bg_color(top_tag) else: del tag.attrs['livecarta_id']