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": [ "layers": [
{ {
"mode": "ctfile", "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", "mode": "format-original-track",

View file

@ -6,7 +6,7 @@
"layers": [ "layers": [
{ {
"mode": "ctfile", "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", "mode": "format-original-track",

View file

@ -7,6 +7,8 @@
"TRACK_TEXT_NAME": "getattr(track, 'name', '')", "TRACK_TEXT_NAME": "getattr(track, 'name', '')",
"TRACK_TEXT_AUTHORS": "'\\\\n'.join(author) if isinstance(author := getattr(track, 'author', '/'), list) else author", "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_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", "SETTINGS_MODE": "mod_config.specific_settings['mode'].value",

View file

@ -22,11 +22,11 @@
"fr": "Surligner si" "fr": "Surligner si"
}, },
"type": "string", "type": "string",
"preview": "track_formatting" "preview": "track_selecting"
} }
}, },
"track_new_if": "'Retro' not in getattr(track, 'tags', []) and getattr(track, 'warning', 0) == 0", "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": { "tags_prefix": {
"MSRDS": "{{ bmg_color_text('green', tag) }}", "MSRDS": "{{ bmg_color_text('green', tag) }}",

View file

@ -55,6 +55,15 @@ class MKWColor:
return f"#{self.hex:06X}" 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: def bmg_color_text(color_name: str, text: str) -> str:
""" """
Useful shortcut to color a text 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 :param text: text to color
:return: return the formatted text with the 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 import threaded
from source.mkw import Tag from source.mkw import Tag
from source.mkw.Cup import Cup 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.ModSettings import AbstractModSettings
from source.mkw.Track import Track from source.mkw.Track import Track
import json import json
@ -167,6 +167,7 @@ class ModConfig:
""" """
return { return {
"mod_config": self, "mod_config": self,
"bmg_color_raw": bmg_color_raw,
"bmg_color_text": bmg_color_text "bmg_color_text": bmg_color_text
} | ( } | (
base_env if base_env is not None else {} base_env if base_env is not None else {}