map-door-text custom matches updates

This commit is contained in:
Brandon Cornejo 2026-02-08 18:33:37 -06:00
parent d3136323eb
commit 292ecc35c8
3 changed files with 68 additions and 0 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ src/personal.tin
src/wamgsaver.tin
src/constants.tin
src/timer.tin
src/testing.tin

61
src/mdt_matchcontrol.py Normal file
View File

@ -0,0 +1,61 @@
#!/usr/bin/env python
import re
import sys
import json
class MapDoorTextControl:
colour_map = {
# http://terminal-color-builder.mudasobwa.ru/
"orange": "\033[01;38;05;214m",
"red": "\033[01;38;05;196m",
"cyan": "\033[01;38;05;37m",
"reset": "\033[00;39;49m"
}
def __init__(self):
self.custom_matches = []
# Load any additional custom matches
with open('logs/features/mdt_custom_matches.json', 'r') as custom_file:
config = json.load(custom_file)
# Strip comments from custom matches
for match in config:
if len(match) > 1:
self.custom_matches.append(match)
def _write_file(self):
with open('logs/features/mdt_custom_matches.json', 'w') as custom_file:
json.dump(self.custom_matches, custom_file)
def add_match(self, pattern, color="red", value=5, is_regex=False):
self.custom_matches.append([pattern, color, value, is_regex])
self._write_file()
def remove_match(self, pattern):
for match in self.custom_matches:
if match[0] == pattern or pattern in match[0]:
self.custom_matches.remove(match)
self._write_file()
if __name__ == '__main__':
if len(sys.argv) < 2:
#print('[error] Missing inputs. Usage: mdt_matchcontrol.py <command> <pattern>')
print(0)
sys.exit()
script, command, pattern = sys.argv.pop(0), sys.argv.pop(0), " ".join(sys.argv)
mdtc = MapDoorTextControl()
if command == "add":
mdtc.add_match(pattern)
print(1)
elif command == "remove":
mdtc.remove_match(pattern)
print(1)
else:
#print('[error] Unrecognized command, valid commands are "add" and "remove".')
print(0)

View File

@ -86,6 +86,12 @@ class MapDoorText:
with open('mdtconfig.json', 'r') as config_file:
config = json.load(config_file)
# Load any additional custom matches
with open('logs/features/mdt_custom_matches.json', 'r') as custom_file:
additional_matches = json.load(custom_file)
config['custom_matches'] = config['custom_matches'] + additional_matches;
# Strip comments from custom matches
for match in config['custom_matches']:
if len(match) > 1: