[F] Fix incorrect coloring when the first color isn't ${c1}

This commit is contained in:
Azalea (on HyDEV-Daisy) 2022-10-23 02:06:45 -04:00
parent f57ad70a20
commit bd5d76167e
No known key found for this signature in database
GPG key ID: E289FAC0DA92DD2B
2 changed files with 6 additions and 5 deletions

View file

@ -284,16 +284,16 @@ def create_config() -> Config:
# Random color schemes
pis = list(range(len(_prs.unique_colors().colors)))
slots = len(set(re.findall('(?<=\\${c)[0-9](?=})', asc)))
while len(pis) < slots:
slots = list(set(re.findall('(?<=\\${c)[0-9](?=})', asc)))
while len(pis) < len(slots):
pis += pis
perm = {p[:slots] for p in permutations(pis)}
perm = {p[:len(slots)] for p in permutations(pis)}
random_count = ascii_per_row * ascii_rows - len(arrangements)
if random_count > len(perm):
choices = perm
else:
choices = random.sample(perm, random_count)
choices = [{i + 1: n for i, n in enumerate(c)} for c in choices]
choices = [{slots[i]: n for i, n in enumerate(c)} for c in choices]
arrangements += [(f'random{i}', ColorAlignment('custom', r)) for i, r in enumerate(choices)]
asciis = [[*ca.recolor_ascii(asc, _prs).split('\n'), k.center(asc_width)] for k, ca in arrangements]

View file

@ -288,8 +288,9 @@ def get_fore_back(distro: str | None = None) -> tuple[int, int] | None:
distro = GLOBAL_CFG.override_distro
if not distro:
distro = get_distro_name().lower()
distro = distro.lower()
for k, v in fore_back.items():
if distro.startswith(k.lower()):
if distro == k.lower():
return v
return None