From e5a3a3c3eb7cfd8a14d97202d5788947841b4d08 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 14 Jun 2025 10:15:16 -0300 Subject: data: various counting rules --- src/data/things/album.js | 6 ++++++ src/data/things/artwork.js | 12 ++++++++++++ src/data/things/track.js | 16 ++++++++++++++++ 3 files changed, 34 insertions(+) (limited to 'src/data') diff --git a/src/data/things/album.js b/src/data/things/album.js index af42c6fa..e27700f4 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -835,6 +835,12 @@ export class Album extends Thing { artwork.fileExtension, ]; } + + // As of writing, albums don't even have a `duration` property... + // so this function will never be called... but the message stands... + countOwnContributionInDurationTotals(_contrib) { + return false; + } } export class TrackSection extends Thing { diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index 9d7fbcd4..57c293ca 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -472,6 +472,18 @@ export class Artwork extends Thing { return this.thing.getOwnArtworkPath(this); } + countOwnContributionInContributionTotals(contrib) { + if (this.attachAbove) { + return false; + } + + if (contrib.annotation?.startsWith('edits for wiki')) { + return false; + } + + return true; + } + [inspect.custom](depth, options, inspect) { const parts = []; diff --git a/src/data/things/track.js b/src/data/things/track.js index 69fd31bc..10585ade 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -789,6 +789,22 @@ export class Track extends Thing { ]; } + countOwnContributionInContributionTotals(_contrib) { + if (this.isSecondaryRelease) { + return false; + } + + return true; + } + + countOwnContributionInDurationTotals(_contrib) { + if (this.isSecondaryRelease) { + return false; + } + + return true; + } + [inspect.custom](depth) { const parts = []; -- cgit 1.3.0-6-gf8a5