Skip to content

Commit 6cf6748

Browse files
use brand_yml package to load brands
1 parent 6108869 commit 6cf6748

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

quarto/theme.py

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import yaml
22
from functools import partial
3+
from brand_yml import Brand
34

45
def theme_colors_altair(bg, fg):
56
return {
@@ -19,9 +20,9 @@ def theme_colors_altair(bg, fg):
1920
}
2021

2122
def theme_brand_altair(brand_yml):
22-
brand = yaml.safe_load(open(brand_yml).read())
23-
bg = brand["color"]["background"]
24-
fg = brand["color"]["foreground"]
23+
brand = Brand.from_yaml(brand_yml)
24+
bg = brand.color.background
25+
fg = brand.color.foreground
2526
return partial(theme_colors_altair, bg, fg)
2627

2728
# background fill is incomplete
@@ -44,9 +45,9 @@ def theme_colors_bokeh(bg, fg):
4445
}})
4546

4647
def theme_brand_bokeh(brand_yml):
47-
brand = yaml.safe_load(open(brand_yml).read())
48-
fg = brand["color"]["foreground"]
49-
bg = brand["color"]["background"]
48+
brand = Brand.from_yaml(brand_yml)
49+
fg = brand.color.foreground
50+
bg = brand.color.background
5051
return partial(theme_colors_bokeh, bg, fg)
5152

5253

@@ -56,9 +57,9 @@ def theme_colors_great_tables(bg, fg):
5657
'table_font_color': fg
5758
}
5859
def theme_brand_great_tables(brand_yml):
59-
brand = yaml.safe_load(open(brand_yml).read())
60-
fg = brand["color"]["foreground"]
61-
bg = brand["color"]["background"]
60+
brand = Brand.from_yaml(brand_yml)
61+
fg = brand.color.foreground
62+
bg = brand.color.background
6263
return theme_colors_great_tables(bg, fg)
6364

6465

@@ -79,12 +80,12 @@ def theme_colors_matplotlib(bg, fg, primary):
7980

8081

8182
def theme_brand_matplotlib(brand_yml):
82-
brand = yaml.safe_load(open(brand_yml).read())
83+
brand = Brand.from_yaml(brand_yml)
8384
return partial(
8485
theme_colors_matplotlib,
85-
brand["color"]["background"],
86-
brand["color"]["foreground"],
87-
brand["color"].get("primary"),
86+
brand.color.background,
87+
brand.color.foreground,
88+
brand.color.primary,
8889
)
8990

9091

@@ -96,8 +97,8 @@ def theme_colors_plotnine(bg, fg):
9697
)
9798

9899
def theme_brand_plotnine(brand_yml):
99-
brand = yaml.safe_load(open(brand_yml).read())
100-
return theme_colors_plotnine(brand["color"]["background"], brand["color"]["foreground"])
100+
brand = Brand.from_yaml(brand_yml)
101+
return theme_colors_plotnine(brand.color.background, brand.color.foreground)
101102

102103

103104
def theme_colors_plotly(bg, fg):
@@ -109,8 +110,8 @@ def theme_colors_plotly(bg, fg):
109110
}})
110111

111112
def theme_brand_plotly(brand_yml):
112-
brand = yaml.safe_load(open(brand_yml).read())
113-
return theme_colors_plotly(brand["color"]["background"], brand["color"]["foreground"])
113+
brand = Brand.from_yaml(brand_yml)
114+
return theme_colors_plotly(brand.color.background, brand.color.foreground)
114115

115116

116117
def theme_colors_pygal(_bg, fg, primary, secondary):
@@ -127,12 +128,12 @@ def theme_colors_pygal(_bg, fg, primary, secondary):
127128
colors=('#E853A0', '#E8537A', '#E95355', '#E87653', '#E89B53'))
128129

129130
def theme_brand_pygal(brand_yml):
130-
brand = yaml.safe_load(open(brand_yml).read())
131+
brand = Brand.from_yaml(brand_yml)
131132
return theme_colors_pygal(
132-
brand["color"]["background"],
133-
brand["color"]["foreground"],
134-
brand["color"]["primary"],
135-
brand["color"].get("secondary"),
133+
brand.color.background,
134+
brand.color.foreground,
135+
brand.color.primary,
136+
brand.color.secondary,
136137
)
137138

138139

@@ -152,5 +153,5 @@ def theme_colors_seaborn(bg, fg):
152153
}
153154

154155
def theme_brand_seaborn(brand_yml):
155-
brand = yaml.safe_load(open(brand_yml).read())
156-
return theme_colors_seaborn(brand["color"]["background"], brand["color"]["foreground"])
156+
brand = Brand.from_yaml(brand_yml)
157+
return theme_colors_seaborn(brand.color.background, brand.color.foreground)

0 commit comments

Comments
 (0)