Skip to content

Commit 13022d9

Browse files
committed
Add support for characters and subfolders in sex actions
1 parent d3fd446 commit 13022d9

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

qmm/gamestruct/liliththrone.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ def secondary():
275275

276276

277277
_sexr = _MatchReValidator(
278-
re.compile(r"^[^/]+/sex/(?:(?:managers|actions)/(?:[^/]+\.xml)?$|$)")
278+
re.compile(r"^[^/]+/sex/(?:(?:managers|actions)/(?:[^/]+/){0,5}(?:[^/]+\.xml)?$|$)")
279279
)
280280

281281

@@ -344,3 +344,22 @@ def primary():
344344
@staticmethod
345345
def secondary():
346346
return None
347+
348+
349+
_chararctersr = _MatchReValidator(
350+
re.compile(r"^[^/]+/characters/(?:[^/]+/){0,5}(?:[^/]+\.xml$|$)")
351+
)
352+
353+
354+
@as_validator
355+
@attr.s(frozen=True)
356+
class CharactersValidator:
357+
data = attr.ib(validator=_chararctersr.match)
358+
359+
@staticmethod
360+
def primary():
361+
return "characters"
362+
363+
@staticmethod
364+
def secundary():
365+
return None

tests/fixtures.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,10 @@ def encounters(request):
161161
"namespace/sex/actions/",
162162
"namespace/sex/managers/some_file.xml",
163163
"namespace/sex/actions/some_file.xml",
164+
"namespace/sex/managers/somefolder/",
165+
"namespace/sex/managers/somefolder/file.xml",
166+
"namespace/sex/managers/some/folder/"
167+
"namespace/sex/managers/some/folder/file.xml",
164168
])
165169
def sex(request):
166170
return request.param
@@ -202,3 +206,14 @@ def maps_nonvalid(request):
202206
)
203207
def txt(request):
204208
return request.param
209+
210+
@pytest.fixture(
211+
params=[
212+
"namespace/characters/",
213+
"namespace/characters/file.xml",
214+
"namespace/characters/folder/",
215+
"namespace/characters/folder/file.xml",
216+
]
217+
)
218+
def characters(request):
219+
return request.param

0 commit comments

Comments
 (0)