Image sets by their numbered name, digits kept
Test and deploy / test (push) Successful in 44s
Test and deploy / edge (push) Successful in 1m52s
Test and deploy / deploy (push) Successful in 2m1s

Without a file counter a subject-named image release was bounded by the
image's name with all numbers removed:
- STIRILING SILVER's sets stp250x…stp465x became one 44k-image release
  (all "stp x"); picture threads of many sets (keira_s04, keira_s05,
  perla_s01, apneatic-7, -8 …) one release each.
- Free-text names without numbers ("JimAndJoey Kindly Husband-to-Be.JPG")
  made each image a set: one thread was 1,177 releases.
The bound is now the name up to its last number with its digits
("stp250x", "keira_s05_l keira_s05_", "apneatic-7-"), and nothing for a
name without numbers. models fixture: 172 -> 754 releases, by set. Both
implementations; tests; fixtures identical.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daan MeijerandClaude Opus 5.5 committed 2026-10-12 00:45:52 +02:00
1 parent 0577b16e5e
commit c4f48a6d4c
3 files changed
+36 -2

No files matched your search

+8
View File
@@ -214,6 +214,14 @@ test.group('release / par2 names', () => {
assert.isFalse(randomPoster('w.merklein@freenet.de (muffin)'))
})
test('image sets by their numbered name, digits kept; names without numbers name no set', ({ assert }) => {
const silver = (n: string) => releaseIdentity({ poster: 'p', subject: `The excellent STIRILING SILVER - Always popular - "${n}" yEnc 320794 bytes`, name: n, weak: false })!
assert.equal(silver('stp250x001.jpg').key, silver('stp250x002.jpg').key)
assert.notEqual(silver('stp250x001.jpg').key, silver('stp305x001.jpg').key)
const mint = (n: string) => releaseIdentity({ poster: 'Cert', subject: `I'm not a breath mint, but I am not all there either. [${n}" yEnc]`, name: n, weak: false })!
assert.equal(mint('JimAndJoey Kindly Husband-to-Be.JPG').key, mint('Oops OnlyOneMore.JPG').key)
})
test('dates are no file counters', async ({ assert }) => {
const { counterTotal } = await import('#lib/release/identity')
assert.isUndefined(counterTotal('Avira AntiVir Rescue System 08-29-2011.rar'))