From 1a760926f783f4111e380e2d136ddb98cb4ee6a5 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 7 May 2022 01:04:12 -0300 Subject: 🦀 UNRELEASED_TRACKS_DIRECTORY is gone 🦀 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/listing-spec.js | 52 +++++++++++++++++++-------------------------- src/page/listing.js | 14 ++++-------- src/upd8.js | 3 +-- src/util/magic-constants.js | 1 - src/util/wiki-data.js | 4 ---- 5 files changed, 27 insertions(+), 47 deletions(-) diff --git a/src/listing-spec.js b/src/listing-spec.js index 6bfc871..f1e3916 100644 --- a/src/listing-spec.js +++ b/src/listing-spec.js @@ -1,9 +1,5 @@ import fixWS from 'fix-whitespace'; -import { - UNRELEASED_TRACKS_DIRECTORY -} from './util/magic-constants.js'; - import { chunkByProperties, getArtistNumContributions, @@ -70,8 +66,7 @@ const listingSpec = [ stringsKey: 'listAlbums.byDate', data({wikiData}) { - return sortByDate(wikiData.albumData - .filter(album => album.directory !== UNRELEASED_TRACKS_DIRECTORY)); + return sortByDate(wikiData.albumData.filter(album => album.date)); }, row(album, {link, strings}) { @@ -240,7 +235,7 @@ const listingSpec = [ duration: getTotalDuration([ ...artist.tracksAsArtist ?? [], ...artist.tracksAsContributor ?? [] - ].filter(track => track.album.directory !== UNRELEASED_TRACKS_DIRECTORY)) + ]) })) .filter(({ duration }) => duration > 0) .sort((a, b) => b.duration - a.duration); @@ -259,35 +254,27 @@ const listingSpec = [ stringsKey: 'listArtists.byLatest', data({wikiData}) { - const reversedTracks = wikiData.trackData.slice().reverse(); - const reversedArtThings = wikiData.justEverythingSortedByArtDateMan.slice().reverse(); + const reversedTracks = wikiData.trackData.filter(t => t.date).reverse(); + const reversedArtThings = wikiData.justEverythingSortedByArtDateMan.filter(t => t.date).reverse(); return { toTracks: sortByDate(wikiData.artistData - .filter(artist => !artist.alias) .map(artist => ({ artist, - date: reversedTracks.find(track => ( - track.album?.directory !== UNRELEASED_TRACKS_DIRECTORY && - [ - ...track.artistContribs ?? [], - ...track.contributorContribs ?? [] - ].some(({ who }) => who === artist) - ))?.date + date: reversedTracks.find(track => ([ + ...track.artistContribs ?? [], + ...track.contributorContribs ?? [] + ].some(({ who }) => who === artist)))?.date })) .filter(({ date }) => date) .sort((a, b) => a.name < b.name ? 1 : a.name > b.name ? -1 : 0)).reverse(), toArtAndFlashes: sortByDate(wikiData.artistData - .filter(artist => !artist.alias) .map(artist => { - const thing = reversedArtThings.find(thing => ( - thing.album?.directory !== UNRELEASED_TRACKS_DIRECTORY && - [ - ...thing.coverArtistContribs ?? [], - ...!thing.album && thing.contributorContribs || [] - ].some(({ who }) => who === artist) - )); + const thing = reversedArtThings.find(thing => ([ + ...thing.coverArtistContribs ?? [], + ...!thing.album && thing.contributorContribs || [] + ].some(({ who }) => who === artist))); return thing && { artist, date: (thing.coverArtistContribs?.some(({ who }) => who === artist) @@ -451,7 +438,14 @@ const listingSpec = [ data({wikiData}) { return sortByDate(wikiData.groupData - .map(group => ({group, date: group.albums[group.albums.length - 1]?.date})) + .map(group => { + const albums = group.albums.filter(a => a.date); + return albums.length && { + group, + date: albums[albums.length - 1].date + }; + }) + .filter(Boolean) // So this is kinda tough to explain, 8ut 8asically, when we // reverse the list after sorting it 8y d8te (so that the latest // d8tes come first), it also flips the order of groups which @@ -522,7 +516,7 @@ const listingSpec = [ data({wikiData}) { return chunkByProperties( - sortByDate(wikiData.trackData.filter(track => track.album.directory !== UNRELEASED_TRACKS_DIRECTORY)), + sortByDate(wikiData.trackData.filter(t => t.date)), ['album', 'date'] ); }, @@ -558,7 +552,6 @@ const listingSpec = [ data({wikiData}) { return wikiData.trackData - .filter(track => track.album.directory !== UNRELEASED_TRACKS_DIRECTORY) .map(track => ({track, duration: track.duration})) .filter(({ duration }) => duration > 0) .sort((a, b) => b.duration - a.duration); @@ -631,8 +624,7 @@ const listingSpec = [ data({wikiData}) { return chunkByProperties(wikiData.trackData - .filter(t => t.featuredInFlashes?.length > 0), ['album']) - .filter(({ album }) => album.directory !== UNRELEASED_TRACKS_DIRECTORY); + .filter(t => t.featuredInFlashes?.length > 0), ['album']); }, html(chunks, {link, strings}) { diff --git a/src/page/listing.js b/src/page/listing.js index 3083a59..8a6d352 100644 --- a/src/page/listing.js +++ b/src/page/listing.js @@ -14,10 +14,6 @@ import fixWS from 'fix-whitespace'; import * as html from '../util/html.js'; -import { - UNRELEASED_TRACKS_DIRECTORY -} from '../util/magic-constants.js'; - import { getTotalDuration } from '../util/wiki-data.js'; @@ -99,9 +95,7 @@ export function write(listing, {wikiData}) { export function writeTargetless({wikiData}) { const { albumData, trackData, wikiInfo } = wikiData; - const releasedTracks = trackData.filter(track => track.album.directory !== UNRELEASED_TRACKS_DIRECTORY); - const releasedAlbums = albumData.filter(album => album.directory !== UNRELEASED_TRACKS_DIRECTORY); - const duration = getTotalDuration(releasedTracks); + const totalDuration = getTotalDuration(trackData); const page = { type: 'page', @@ -118,9 +112,9 @@ export function writeTargetless({wikiData}) {

${strings('listingIndex.title')}

${strings('listingIndex.infoLine', { wiki: wikiInfo.name, - tracks: `${strings.count.tracks(releasedTracks.length, {unit: true})}`, - albums: `${strings.count.albums(releasedAlbums.length, {unit: true})}`, - duration: `${strings.count.duration(duration, {approximate: true, unit: true})}` + tracks: `${strings.count.tracks(trackData.length, {unit: true})}`, + albums: `${strings.count.albums(albumData.length, {unit: true})}`, + duration: `${strings.count.duration(totalDuration, {approximate: true, unit: true})}` })}


${strings('listingIndex.exploreList')}

diff --git a/src/upd8.js b/src/upd8.js index 13cf2e7..33c4067 100755 --- a/src/upd8.js +++ b/src/upd8.js @@ -170,8 +170,7 @@ import { // Pensive emoji! import { FANDOM_GROUP_DIRECTORY, - OFFICIAL_GROUP_DIRECTORY, - UNRELEASED_TRACKS_DIRECTORY + OFFICIAL_GROUP_DIRECTORY } from './util/magic-constants.js'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/src/util/magic-constants.js b/src/util/magic-constants.js index 3174dae..73fdbc6 100644 --- a/src/util/magic-constants.js +++ b/src/util/magic-constants.js @@ -6,6 +6,5 @@ // All such uses should eventually be replaced with better code in due time // (TM). -export const UNRELEASED_TRACKS_DIRECTORY = 'unreleased-tracks'; export const OFFICIAL_GROUP_DIRECTORY = 'official'; export const FANDOM_GROUP_DIRECTORY = 'fandom'; diff --git a/src/util/wiki-data.js b/src/util/wiki-data.js index 6d0db2c..b4f7f21 100644 --- a/src/util/wiki-data.js +++ b/src/util/wiki-data.js @@ -1,9 +1,5 @@ // Utility functions for interacting with wiki data. -import { - UNRELEASED_TRACKS_DIRECTORY -} from './magic-constants.js'; - // Generic value operations export function getKebabCase(name) { -- cgit 1.3.0-6-gf8a5