From ebee8a2356545abd89be3124c7505708580d60b0 Mon Sep 17 00:00:00 2001 From: Stig Nygaard Date: Sun, 10 Nov 2024 12:46:41 +0100 Subject: [PATCH] improve splitting album titles --- widgets/lastfm.js | 60 ++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/widgets/lastfm.js b/widgets/lastfm.js index 4efb9b5..53c7e6d 100644 --- a/widgets/lastfm.js +++ b/widgets/lastfm.js @@ -657,35 +657,37 @@ class Tracks extends HTMLElement { title = title.trim(); const rtval = { full: title, basic: title }; const regs = [ - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sEdition[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sVersion[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sDeluxe[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sRemaster[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sDisc[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(\w[\w\s]+\sCD[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(Deluxe[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(Remaster[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(Music from[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(EP[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(single[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(Explicit[\w\s]*)$/iu, - /^([^$]*[^-\s])(\s-\s)(Disc\s[\w\s]+)$/iu, - /^([^$]*[^-\s])(\s-\s)(CD\s[\w\s]+)$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sEdition[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sVersion[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sDeluxe[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sRemaster[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sDisc[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[][\w\s]+\sCD[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]Deluxe[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]Remaster[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]Music from[\w\s]*[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]EP[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]single[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]Explicit[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]Disc\s[\w\s]+[)\]])$/iu, - /^([^$]*[^-\s])(\s)([(\[]CD\s[\w\s]+[)\]])$/iu, - /^([^$]*[^-\s])(\s)(EP[\d\s]*)$/iu + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sEdition[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sVersion[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sDeluxe[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sRemaster[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sDisc[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(\w[\w\s]+\sCD[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Deluxe[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Remaster[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Music from[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(EP[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Live[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(single[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Explicit[\w\s]*)$/iu, + /^(.+[^-\s])(\s-\s)(Disc\s[\w\s]+)$/iu, + /^(.+[^-\s])(\s-\s)(CD\s[\w\s]+)$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sEdition[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sVersion[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sDeluxe[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sRemaster[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sDisc[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([][\w\s]+\sCD[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Deluxe[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Remaster[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Music from[\w\s]*[)\]])$/iu, + /^(.+[^-\s])(\s)([([]EP[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Live[)\]])$/iu, + /^(.+[^-\s])(\s)([([]single[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Explicit[)\]])$/iu, + /^(.+[^-\s])(\s)([([]Disc\s[\w\s]+[)\]])$/iu, + /^(.+[^-\s])(\s)([([]CD\s[\w\s]+[)\]])$/iu, + /^(.+[^-\s])(\s)(EP[\d\s]*)$/iu ]; // ( ... bonus CD), (single),... ? for (const reg of regs) { const m = title.match(reg);