feat(parser): site category prefix, RSS embedded description and subtitle titles (ID-2)

Strip [电视剧]/[动漫]/[音乐]… prefixes into parsed.category instead of titleCn,
split RSS-embedded site descriptions into the subtitle, take the first Chinese
name of the subtitle as titleCn and the rest as altTitles, and stop reading
'Travis - 12 Memories' as episode 12. PARSER_VERSION 2.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-29 17:41:22 +08:00
1 parent c3aaf901ad
commit 51e0032d14
6 files changed
+195 -18

No files matched your search

+2 -1
View File
@@ -3,6 +3,7 @@ import {
DEFAULT_TEMPLATES,
evaluateCandidate,
type IdentityCandidate,
PARSER_VERSION,
parseRelease,
planOrganize,
resolveIdentity,
@@ -237,7 +238,7 @@ describe("SiteRelease ↔ source_release", () => {
expect(C.SourceReleaseCreate.safeParse(create).success).toBe(true);
expect(create).toMatchObject({ siteId: U(40), infohashV1: "a".repeat(40), infohashV2: null, categoryRaw: "401" });
expect(JSON.stringify(create)).not.toContain("download.php");
expect(create.parserVersion).toBe("1");
expect(create.parserVersion).toBe(String(PARSER_VERSION));
});
it("source_release 行还原为 SiteReleaseLike(下载入口除外)", () => {