Add ability to get file from import in css

This commit is contained in:
Kiryl
2022-05-13 13:35:25 +03:00
parent c1cebf32b9
commit 229df85397
2 changed files with 6 additions and 1 deletions

View File

@@ -165,7 +165,7 @@ LIVECARTA_STYLE_ATTRS_SHOULD_BE_TAG = {
} }
def check_style_to_be_tag(style) -> List[tuple]: def check_style_to_be_tag(style: str) -> List[tuple]:
""" """
Function searches style properties that can be converted to tags. Function searches style properties that can be converted to tags.
It searches for them and prepare list of properties to be removed from style string It searches for them and prepare list of properties to be removed from style string
@@ -511,6 +511,8 @@ def convert_html_soup_with_css_style(html_soup: BeautifulSoup, css_text: str) ->
tags_with_possible_style_attr = html_soup.find_all( tags_with_possible_style_attr = html_soup.find_all(
could_have_style_in_livecarta_regexp) could_have_style_in_livecarta_regexp)
for i, x in enumerate(tags_with_possible_style_attr): for i, x in enumerate(tags_with_possible_style_attr):
if i == 2:
pass
x.attrs['livecarta_id'] = i x.attrs['livecarta_id'] = i
livecarta_tmp_ids.append(i) livecarta_tmp_ids.append(i)

View File

@@ -121,6 +121,9 @@ class EpubConverter:
path_to_css_from_root = normpath( path_to_css_from_root = normpath(
join(html_folder, path_to_css_from_html)).replace('\\', '/') join(html_folder, path_to_css_from_html)).replace('\\', '/')
css_obj = self.ebooklib_book.get_item_with_href(path_to_css_from_root) css_obj = self.ebooklib_book.get_item_with_href(path_to_css_from_root)
if "@import" in str(css_obj.content):
path_to_css_from_root = "css/" + re.search('"(.*)"', str(css_obj.content)).group(1)
css_obj = self.ebooklib_book.get_item_with_href(path_to_css_from_root)
assert css_obj, f'Css style {css_href} was not in manifest.' assert css_obj, f'Css style {css_href} was not in manifest.'
css_content: str = css_obj.get_content().decode() css_content: str = css_obj.get_content().decode()
return css_content return css_content