Skip to content

Commit b6b58c4

Browse files
Merge pull request #10 from gordonwoodhull/feature/brand_yml
use brand_yml package to load brand.yml
2 parents d6eb0c3 + 8a603e4 commit b6b58c4

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

quarto/theme.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import yaml
21
from functools import partial
2+
from brand_yml import Brand
33

44
def theme_colors_altair(bg, fg):
55
return {
@@ -19,9 +19,9 @@ def theme_colors_altair(bg, fg):
1919
}
2020

2121
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"]
22+
brand = Brand.from_yaml(brand_yml)
23+
bg = brand.color.background
24+
fg = brand.color.foreground
2525
return partial(theme_colors_altair, bg, fg)
2626

2727
# background fill is incomplete
@@ -44,9 +44,9 @@ def theme_colors_bokeh(bg, fg):
4444
}})
4545

4646
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"]
47+
brand = Brand.from_yaml(brand_yml)
48+
fg = brand.color.foreground
49+
bg = brand.color.background
5050
return partial(theme_colors_bokeh, bg, fg)
5151

5252

@@ -56,9 +56,9 @@ def theme_colors_great_tables(bg, fg):
5656
'table_font_color': fg
5757
}
5858
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"]
59+
brand = Brand.from_yaml(brand_yml)
60+
fg = brand.color.foreground
61+
bg = brand.color.background
6262
return theme_colors_great_tables(bg, fg)
6363

6464

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

8080

8181
def theme_brand_matplotlib(brand_yml):
82-
brand = yaml.safe_load(open(brand_yml).read())
82+
brand = Brand.from_yaml(brand_yml)
8383
return partial(
8484
theme_colors_matplotlib,
85-
brand["color"]["background"],
86-
brand["color"]["foreground"],
87-
brand["color"]["primary"],
85+
brand.color.background,
86+
brand.color.foreground,
87+
brand.color.primary,
8888
)
8989

9090

@@ -96,8 +96,8 @@ def theme_colors_plotnine(bg, fg):
9696
)
9797

9898
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"])
99+
brand = Brand.from_yaml(brand_yml)
100+
return theme_colors_plotnine(brand.color.background, brand.color.foreground)
101101

102102

103103
def theme_colors_plotly(bg, fg):
@@ -109,8 +109,8 @@ def theme_colors_plotly(bg, fg):
109109
}})
110110

111111
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"])
112+
brand = Brand.from_yaml(brand_yml)
113+
return theme_colors_plotly(brand.color.background, brand.color.foreground)
114114

115115

116116
def theme_colors_pygal(_bg, fg, primary, secondary):
@@ -127,12 +127,12 @@ def theme_colors_pygal(_bg, fg, primary, secondary):
127127
colors=('#E853A0', '#E8537A', '#E95355', '#E87653', '#E89B53'))
128128

129129
def theme_brand_pygal(brand_yml):
130-
brand = yaml.safe_load(open(brand_yml).read())
130+
brand = Brand.from_yaml(brand_yml)
131131
return theme_colors_pygal(
132-
brand["color"]["background"],
133-
brand["color"]["foreground"],
134-
brand["color"]["primary"],
135-
brand["color"].get("secondary"),
132+
brand.color.background,
133+
brand.color.foreground,
134+
brand.color.primary,
135+
brand.color.secondary,
136136
)
137137

138138

@@ -152,5 +152,5 @@ def theme_colors_seaborn(bg, fg):
152152
}
153153

154154
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"])
155+
brand = Brand.from_yaml(brand_yml)
156+
return theme_colors_seaborn(brand.color.background, brand.color.foreground)

0 commit comments

Comments
 (0)