Source code for utilities

 1"""Shared utility functions."""
 2
 3import os
 4import math
 5from pathlib import Path
 6
[docs] 7def wipe_folder(dir: Path): 8 """Create *dir* if it does not exist, then remove all files inside it.""" 9 if not os.path.exists(dir): 10 os.makedirs(dir) 11 for f in os.listdir(dir): 12 os.remove(os.path.join(dir, f))
13
[docs] 14def determine_color(ratio, colors): 15 """Interpolate between adjacent colors in a list based on *ratio* (0..1).""" 16 if ratio == 1: 17 return colors[len(colors) - 1] 18 19 color_index = math.floor(len(colors) * ratio) 20 c1 = colors[color_index] 21 c2 = colors[color_index + 1] 22 r = (c2[0] - c1[0]) * ratio + c1[0] 23 g = (c2[1] - c1[1]) * ratio + c1[1] 24 b = (c2[2] - c1[2]) * ratio + c1[2] 25 return [r, g, b, 1]