Identity: other quoted text, text separators, ids in image names, more
Test and deploy / test (push) Successful in 49s
Test and deploy / edge (push) Successful in 2m0s
Test and deploy / deploy (push) Successful in 2m1s

- Quoted text other than the file name stays in the remainder: ">>> CREATIVE
  COMMONS NZB <<< "0190 alarm 5.0 " - File 1 of 9: "…rar"" made 12,605
  files of all uploads one release.
- namesRelease accepts words joined by , & : ; \ / + ("Posting & deleting,
  read 0 file "E:\VladModels\y038_Irina\185" …"): such image sets fell to
  the stem rule ("P8250001.JPG"), one release over all folders.
- imageSet: a 5+ digit number left in the set is a per-image id
  ("sss-70556-3474182-23-10825418-pc", "Alena p 26663_…"): no set. Copy
  markers may repeat ("diana-050-052[1][1]").
- unquotedName: an image after numbered text without a separator is the
  last word ("<abm> … AB: part2 0573-1002 043.jpg").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daan MeijerandClaude Opus 5.5 committed 2026-10-12 07:51:21 +02:00
1 parent e1d21d1e7c
commit 3fc38edda8
6 files changed
+84 -18

No files matched your search

+1
View File
@@ -65,6 +65,7 @@ test.group('subject / parseSubject', () => {
["pal! [Mivina high(1).wmv\" yEnc] (323/349)", 'Mivina high(1).wmv', 323, 349],
['[03/21 Geroellheimer - S03E16.part01.rar" yEnc (1/50)', 'Geroellheimer - S03E16.part01.rar', 1, 50],
['<Group> FP -> {EXL01~P~004} -> Alexia (3) -> VF -> [0001 of 0076] -> Exclusive-tgirls_000000-lg.jpg (1/1)', 'Exclusive-tgirls_000000-lg.jpg', 1, 1],
["<abm> <Duke> here's a little thanksgiving present: AB: part2 0573-1002 043.jpg (1/1)", '043.jpg', 1, 1],
]
for (const [subject, name, segment, total, fileIndex] of cases) {
const parsed = parseSubject(subject)
+14
View File
@@ -245,6 +245,9 @@ test.group('release / par2 names', () => {
['092_081_2000x1500', '092_'],
['KP0027_197_00', 'KP'],
['01079-106-2048px', '01079-'],
['diana-050-052[1][1]', 'diana-050-'],
['sss-70556-3474182-23-10825418-pc', ''],
['Alena p 26663_alena-p-2-8323_123_39lo', ''],
['she has sensual legs 172 _ 172', 'she has sensual legs '],
['jamie.lee.curtis_the.tailor.of.panama_17_123_244lo', 'jamie.lee.curtis_the.tailor.of.panama_'],
['JimAndJoey Kindly Husband-to-Be', ''],
@@ -262,6 +265,17 @@ test.group('release / par2 names', () => {
assert.equal(destiny(63, 34).name, 'Newstar Destiny I set 63')
})
test('other quoted text and text separators name the release', ({ assert }) => {
const id = (subject: string, name: string) => releaseIdentity({ poster: 'p', subject, name, weak: false })!
const cc = (name: string, n: string) =>
id(`>>> CREATIVE COMMONS NZB <<< "${name} " - File 1 of 9: "creative_commons_nzb_${n}.rar" yEnc`, `creative_commons_nzb_${n}.rar`)
assert.notEqual(cc('0190 alarm 5.0', '0190_alarm_5.0_').key, cc('portable irfanview 4.22', 'portable_irfanview_4.22').key)
const vlad = (dir: string, total: number, n: string) =>
id(`Posting & deleting, read 0 file "E:\\VladModels\\y038_Irina\\${dir}" Day 5/6 [01/${total}] - ${n} yEnc`, n)
assert.equal(vlad('185', 77, 'P8250001.JPG').source, 'subject')
assert.notEqual(vlad('185', 77, 'P8250001.JPG').key, vlad('234', 77, 'P5300085.JPG').key)
})
test('an image without words around it is keyed by its set', ({ assert }) => {
const id = (name: string, counter: string) => releaseIdentity({ poster: 'p', subject: `##[ "${name}" (${counter})`, name, weak: false })!
assert.equal(id('diana-040-001.jpg', '01/68').key, id('diana-040-002.jpg', '02/68').key)