hungerlib 3.2.dev8__tar.gz → 3.2.dev9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hungerlib-3.2.dev8/src/hungerlib.egg-info → hungerlib-3.2.dev9}/PKG-INFO +1 -1
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/pyproject.toml +1 -1
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/datamap.py +35 -3
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9/src/hungerlib.egg-info}/PKG-INFO +1 -1
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/LICENSE +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/README.md +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/setup.cfg +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/__init__.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/__init__.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/backups.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/command.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/databases.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/filemanager.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/schedule.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/api/startup.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/configloader.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/messagerouter.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/panel.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/servers/__init__.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/servers/generic.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/servers/minecraft.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/utils/__init__.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/utils/colormaps.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/utils/time.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib/utils/utils.py +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib.egg-info/SOURCES.txt +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib.egg-info/dependency_links.txt +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib.egg-info/requires.txt +0 -0
- {hungerlib-3.2.dev8 → hungerlib-3.2.dev9}/src/hungerlib.egg-info/top_level.txt +0 -0
|
@@ -48,33 +48,65 @@ datamap.angles = datamap(syntax=Syntax.angles)
|
|
|
48
48
|
datamap.dollars = datamap(syntax=Syntax.dollars)
|
|
49
49
|
datamap.percents = datamap(syntax=Syntax.percents)
|
|
50
50
|
|
|
51
|
-
def mapit(text: str, *maps, **runtime):
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
def mapit(text: str, *maps, only_maps=None, disable=None, enable=None, **runtime):
|
|
52
|
+
# 1. FULL OVERRIDE MODE
|
|
53
|
+
if only_maps is not None:
|
|
54
|
+
maps_to_use = list(only_maps)
|
|
55
|
+
|
|
56
|
+
else:
|
|
57
|
+
# 2. Start with default maps
|
|
58
|
+
maps_to_use = list(get_default_maps())
|
|
59
|
+
|
|
60
|
+
# 3. Remove disabled maps
|
|
61
|
+
if disable:
|
|
62
|
+
maps_to_use = [m for m in maps_to_use if m not in disable]
|
|
63
|
+
|
|
64
|
+
# 4. Add positional maps
|
|
65
|
+
if maps:
|
|
66
|
+
maps_to_use.extend(maps)
|
|
67
|
+
|
|
68
|
+
# 5. Add enabled maps
|
|
69
|
+
if enable:
|
|
70
|
+
maps_to_use.extend(enable)
|
|
71
|
+
|
|
72
|
+
# 6. Apply maps in order
|
|
73
|
+
for m in maps_to_use:
|
|
54
74
|
if isinstance(m, type) and is_dataclass(m):
|
|
55
75
|
m = m()
|
|
76
|
+
|
|
56
77
|
if is_dataclass(m):
|
|
57
78
|
pattern = m.get_syntax()
|
|
58
79
|
d = m.as_map()
|
|
80
|
+
|
|
59
81
|
elif hasattr(m, "as_dict"):
|
|
60
82
|
pattern = Syntax.angles
|
|
61
83
|
d = m.as_dict()
|
|
84
|
+
|
|
62
85
|
elif isinstance(m, dict):
|
|
63
86
|
pattern = runtime.get("syntax")
|
|
64
87
|
if not pattern:
|
|
65
88
|
continue
|
|
66
89
|
d = m
|
|
90
|
+
|
|
67
91
|
else:
|
|
68
92
|
continue
|
|
93
|
+
|
|
69
94
|
def repl(match):
|
|
70
95
|
k = match.group(1)
|
|
71
96
|
return str(d.get(k, match.group(0)))
|
|
97
|
+
|
|
72
98
|
text = re.sub(pattern, repl, text)
|
|
99
|
+
|
|
100
|
+
# 7. Runtime kwargs always apply last
|
|
73
101
|
if runtime:
|
|
74
102
|
pattern = Syntax.braces
|
|
75
103
|
d = runtime
|
|
104
|
+
|
|
76
105
|
def repl(match):
|
|
77
106
|
k = match.group(1)
|
|
78
107
|
return str(d.get(k, match.group(0)))
|
|
108
|
+
|
|
79
109
|
text = re.sub(pattern, repl, text)
|
|
110
|
+
|
|
80
111
|
return text
|
|
112
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|