RGB processing

This commit is contained in:
Kiryl
2022-06-13 12:59:12 +03:00
parent 5caec46f3c
commit 180631d33b
2 changed files with 11 additions and 13 deletions

View File

@@ -5,7 +5,7 @@ from ebooklib import epub
from bs4 import BeautifulSoup
from itertools import takewhile
from src.util.color_reader import str2hex
from src.util.color_reader import str2hex, rgb2color_name
from src.livecarta_config import LiveCartaConfig
@@ -129,8 +129,7 @@ LIVECARTA_STYLE_ATTRS_MAPPING = {
'font-variant': lambda x: x,
'text-align': lambda x: x,
'font': lambda x: '',
'font-family': lambda x: LiveCartaConfig.FONT_CORRESPONDANCE_TABLE.get(x) or
LiveCartaConfig.FONT_CORRESPONDANCE_TABLE.get(x.capitalize()),
'font-family': lambda x: LiveCartaConfig.FONT_CORRESPONDANCE_TABLE.get(re.sub(r"^\s+|\s+$", "", x.title())),
'font-size': convert_tag_style_values,
'color': get_text_color,
'background-color': get_bg_color,
@@ -179,7 +178,7 @@ def build_inline_style_content(style: str) -> str:
"""Build inline style with livecarta convention"""
# replace all spaces between '; & letter' to ';'
style = re.sub(r"; *", ";", style)
# when we split style by ';', last element of the list is ''-None
# when we split style by ';', last element of the list is '' - None
# remove it
split_style: list = list(filter(None, style.split(';')))
# replace all spaces between ': & letter' to ':'
@@ -198,7 +197,7 @@ def update_css_styles_to_livecarta_convention(css_rule: cssutils.css.CSSStyleRul
css_rule.style[style_type.name] = ''
return
cleaned_value = style_type.value.replace('\"', '').split(', ')[-1]
cleaned_value = style_type.value.replace('\"', '')
constraints_on_value = LIVECARTA_STYLE_ATTRS.get(
style_type.name)
value_not_in_possible_values_list = cleaned_value not in LIVECARTA_STYLE_ATTRS[
@@ -215,7 +214,7 @@ def update_css_styles_to_livecarta_convention(css_rule: cssutils.css.CSSStyleRul
def build_css_file_content(css_content: str) -> str:
"""Build css content with livecarta convention"""
sheet = cssutils.parseString(css_content, validate=False)
sheet = cssutils.parseString(css_content.lower(), validate=False)
for css_rule in sheet:
if css_rule.type == css_rule.STYLE_RULE: