implemented highlight_if option

This commit is contained in:
Faraphel 2022-08-07 14:45:06 +02:00
parent b9873a6c49
commit cc41a22a82
6 changed files with 18 additions and 6 deletions

View file

@ -6,7 +6,7 @@
"layers": [
{
"mode": "ctfile",
"template": "{{ ## TRACK_TEXT_SCORE ## }}{{ ## TRACK_TEXT_PREFIX ## }}{{ ## TRACK_TEXT_NAME ## }}{{ ## TRACK_TEXT_SUFFIX ## }}"
"template": "{{ ## TRACK_TEXT_SCORE ## }}{{ ## TRACK_TEXT_PREFIX ## }}{{ ## TRACK_TEXT_HIGHLIGHT_START ## }}{{ ## TRACK_TEXT_NAME ## }}{{ ## TRACK_TEXT_HIGHLIGHT_END ## }}{{ ## TRACK_TEXT_SUFFIX ## }}"
},
{
"mode": "format-original-track",

View file

@ -6,7 +6,7 @@
"layers": [
{
"mode": "ctfile",
"template": "{{ ## TRACK_TEXT_WARNING_IF_DISABLED ## }}{{ (## TRACK_TEXT_SCORE ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_PREFIX ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_NAME ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_SUFFIX ##) ## IF_NO_WARNING ## }}"
"template": "{{ ## TRACK_TEXT_WARNING_IF_DISABLED ## }}{{ (## TRACK_TEXT_SCORE ##) ## IF_NO_WARNING ## }}{{ (## TRACK_TEXT_PREFIX ##) ## IF_NO_WARNING ## }}{{ ## TRACK_TEXT_HIGHLIGHT_START ## }}{{ (## TRACK_TEXT_NAME ##) ## IF_NO_WARNING ## }}{{ ## TRACK_TEXT_HIGHLIGHT_END ## }}{{ (## TRACK_TEXT_SUFFIX ##) ## IF_NO_WARNING ## }}"
},
{
"mode": "format-original-track",

View file

@ -7,6 +7,8 @@
"TRACK_TEXT_NAME": "getattr(track, 'name', '')",
"TRACK_TEXT_AUTHORS": "'\\\\n'.join(author) if isinstance(author := getattr(track, 'author', '/'), list) else author",
"TRACK_TEXT_WARNING_IF_DISABLED": "bmg_color_text('red', '/') if getattr(track, 'warning', 0) != 0 else ''",
"TRACK_TEXT_HIGHLIGHT_START": "bmg_color_raw('azure') if eval(highlight_if if (highlight_if := mod_config.specific_settings['highlight_if'].value) is not None else 'False', env={'track': track}) is True else ''",
"TRACK_TEXT_HIGHLIGHT_END": "bmg_color_raw('off')",
"SETTINGS_MODE": "mod_config.specific_settings['mode'].value",

View file

@ -22,11 +22,11 @@
"fr": "Surligner si"
},
"type": "string",
"preview": "track_formatting"
"preview": "track_selecting"
}
},
"track_new_if": "'Retro' not in getattr(track, 'tags', []) and getattr(track, 'warning', 0) == 0",
"lpar_template": "{{ ## SETTINGS_MODE ## if ## SETTINGS_MODE ## is not None else 'normal' }}.lpar",
"lpar_template": "{{ mode if (mode := ## SETTINGS_MODE ##) is not None else 'normal' }}.lpar",
"tags_prefix": {
"MSRDS": "{{ bmg_color_text('green', tag) }}",

View file

@ -55,6 +55,15 @@ class MKWColor:
return f"#{self.hex:06X}"
def bmg_color_raw(color_name: str) -> str:
"""
Useful shortcut to place a color
:param color_name: name of the color
:return: return the color character
"""
return r"\c{" + MKWColor(color_name).bmg + "}"
def bmg_color_text(color_name: str, text: str) -> str:
"""
Useful shortcut to color a text
@ -62,4 +71,4 @@ def bmg_color_text(color_name: str, text: str) -> str:
:param text: text to color
:return: return the formatted text with the color
"""
return r"\c{" + MKWColor(color_name).bmg + "}" + text + r"\c{" + MKWColor('off').bmg + "}"
return f'{bmg_color_raw(color_name)}{text}{bmg_color_raw("off")}'

View file

@ -7,7 +7,7 @@ from PIL import Image
from source import threaded
from source.mkw import Tag
from source.mkw.Cup import Cup
from source.mkw.MKWColor import bmg_color_text
from source.mkw.MKWColor import bmg_color_text, bmg_color_raw
from source.mkw.ModSettings import AbstractModSettings
from source.mkw.Track import Track
import json
@ -167,6 +167,7 @@ class ModConfig:
"""
return {
"mod_config": self,
"bmg_color_raw": bmg_color_raw,
"bmg_color_text": bmg_color_text
} | (
base_env if base_env is not None else {}