added tests for all formatters; stylecheck workflow now also checks in tests now
This commit is contained in:
1 parent
2f3f45151d
commit
c3f7fd88bb
18 files changed
+364
-14
No files matched your search
@@ -3,6 +3,6 @@ from bs4 import BeautifulSoup
|
||||
|
||||
def format(soup: BeautifulSoup) -> None:
|
||||
for element in soup.find_all(attrs={"dj-attr": True}):
|
||||
tag, value = element.get("dj-attr").split(";")
|
||||
element[tag] = f"{{{{ {value} }}}}"
|
||||
for tag, value in [attr.split(";") for attr in element["dj-attr"].split("~")]:
|
||||
element[tag] = f"{{{{ {value} }}}}"
|
||||
del element.attrs["dj-attr"]
|
||||
@@ -21,12 +21,18 @@ def parse_style(style: str) -> dict[str, str]:
|
||||
|
||||
|
||||
def style_to_string(style: dict[str, str]) -> str:
|
||||
return ";".join([f"{name}:{value}" for name, value in style.items()])
|
||||
result = ";".join([f"{name}:{value}" for name, value in style.items()])
|
||||
if len(style) != 0:
|
||||
result += ";"
|
||||
return result
|
||||
|
||||
|
||||
def format(soup: BeautifulSoup) -> None:
|
||||
for element in soup.find_all(attrs={"dj-style": True}):
|
||||
style = parse_style(element["style"])
|
||||
if element.has_attr("style"):
|
||||
style = parse_style(element["style"])
|
||||
else:
|
||||
style = {}
|
||||
dj_style = element.get("dj-style")
|
||||
for name, value, value_type in [declaration.split(";") for declaration in dj_style.split("~") if declaration]:
|
||||
style[name] = f"{{{{ {value} }}}}{value_type}"
|
||||
|
||||
@@ -4,7 +4,10 @@ from .style_formatter import parse_style, style_to_string
|
||||
|
||||
def format(soup: BeautifulSoup) -> None:
|
||||
for element in soup.find_all(attrs={"dj-style-raw": True}):
|
||||
style = parse_style(element["style"])
|
||||
if element.has_attr("style"):
|
||||
style = parse_style(element["style"])
|
||||
else:
|
||||
style = {}
|
||||
dj_style = element.get("dj-style-raw")
|
||||
for name, value in [declaration.split(";") for declaration in dj_style.split("~") if declaration]:
|
||||
style[name] = value
|
||||
|
||||
Reference in new issue
Block a user