25 lines
1.9 KiB
JSON
25 lines
1.9 KiB
JSON
{
|
|
"version": 1,
|
|
"domain": "filename",
|
|
"description": "Filename → canonical JAV ID (with optional #partN suffix). Consumed by Python rc-jav.extract_id.",
|
|
"case_schema": {
|
|
"name": "human label",
|
|
"input": "filename including extension",
|
|
"expected": "canonical ID (e.g. ABC-001 or ABC-001#part1) or null when no ID present"
|
|
},
|
|
"cases": [
|
|
{ "name": "plain dashed ID", "input": "ABC-027.mp4", "expected": "ABC-027" },
|
|
{ "name": "dashed ID with resolution tag", "input": "SCOP-297 [1080p].mp4", "expected": "SCOP-297" },
|
|
{ "name": "bracket-wrapped ID", "input": "[REAL-779].mp4", "expected": "REAL-779" },
|
|
{ "name": "bracket-wrapped ID with extra tag", "input": "[SCOP-297] [1080p].mp4", "expected": "SCOP-297" },
|
|
{ "name": "no-hyphen fallback", "input": "MVSD312.avi", "expected": "MVSD-312" },
|
|
{ "name": "trailing lowercase variant letter", "input": "IBW-902z.mp4", "expected": "IBW-902z" },
|
|
{ "name": "multipart _PART suffix", "input": "KV-118 - Aiba Reika_PART1.mp4", "expected": "KV-118#part1" },
|
|
{ "name": "multipart _A letter suffix", "input": "KV-118_A.mp4", "expected": "KV-118#part1" },
|
|
{ "name": "multipart trailing -N before bracket", "input": "OFJE-195-7 [480p].mp4", "expected": "OFJE-195#part7" },
|
|
{ "name": "FC2 PPV plain", "input": "FC2-1841460.mp4", "expected": "FC2-PPV-1841460" },
|
|
{ "name": "FC2 PPV explicit", "input": "FC2-PPV-1841460.mp4", "expected": "FC2-PPV-1841460" },
|
|
{ "name": "no ID present", "input": "random_video.mp4", "expected": null }
|
|
]
|
|
}
|