Skip to content

Commit ea5eacd

Browse files
committed
ENHANCEMENTS:
- MizEdit: mission name filter added
1 parent abd5818 commit ea5eacd

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

extensions/mizedit/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,3 +223,15 @@ d) Map-specific Settings
223223
settings:
224224
- Spring, Morning, Rainy, Halo
225225
```
226+
227+
e) Mission filter
228+
```yaml
229+
MizEdit:
230+
filter: MyFancy* # apply to all missions that start with "MyFancy" in their name
231+
terrains:
232+
settings:
233+
- Spring, Morning, Rainy, Halo
234+
- Summer, Morning, Slight Breeze, Halo
235+
- Autumn, Morning, Heavy Storm, Halo
236+
- Winter, Morning, Slight Breeze, Halo
237+
```

extensions/mizedit/extension.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import logging
33
import os
44
import random
5+
import re
56

67
from core import Extension, utils, Server, YAMLError, DEFAULT_TAG, MizFile, ServerImpl
78
from datetime import datetime
@@ -122,7 +123,12 @@ async def apply_presets(server: Server, filename: str, preset: Union[list, dict]
122123
logger.info(f" => Presets applied on {filename} and written to {new_filename}.")
123124
return new_filename
124125

126+
def _filter(self, filename: str) -> bool:
127+
return re.search(self.config['filter'], os.path.basename(filename)) is not None
128+
125129
async def beforeMissionLoad(self, filename: str) -> tuple[str, bool]:
130+
if 'filter' in self.config and not self._filter(filename):
131+
return filename, False
126132
return (await self.apply_presets(self.server, filename, await self.get_presets(self.config))), True
127133

128134
def is_running(self) -> bool:

extensions/mizedit/schemas/mizedit_schema.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,4 @@ schema;mizedit_schema:
4141
mapping:
4242
settings:
4343
include: 'settings'
44+
filter: {type: str, nullable: false, range: {min: 1}}

0 commit comments

Comments
 (0)