Commit graph

88 commits

Author SHA1 Message Date
Philipp Wolfer
1a9f9bb36c
If import fails still save the last reported timestamp
This allows continuing a partially failed import run.
2025-05-04 11:52:12 +02:00
Philipp Wolfer
45aeeb7087
jspf: add MB extension, if it does not exist 2025-05-04 11:50:11 +02:00
Philipp Wolfer
873a1b88af
Call "FinishImport" even on error
This gives the importer the chance to close connections
and free resources to ensure already imported items are
properly handled.
2025-05-04 10:32:04 +02:00
Philipp Wolfer
338b2654ef
Fix duplicate calls to handle import errors
This fixes the import process hanging on error
2025-05-02 09:29:50 +02:00
Philipp Wolfer
5fb1596d61
Close export results channel in generic implementation
This removes the need for every implementation to handle this case.
2025-05-02 09:29:31 +02:00
Philipp Wolfer
d757129bd7
jspf: also set username and recording MSID in exports 2025-05-01 15:20:37 +02:00
Philipp Wolfer
a645ec5c78
JSPF: Implemented export as loves and listens 2025-05-01 15:10:00 +02:00
Philipp Wolfer
cfc3cd522d
scrobblerlog: fix listen export not considering latest timestamp 2025-05-01 14:09:12 +02:00
Philipp Wolfer
443734e4c7
jspf: write duration to exported JSPF 2025-05-01 13:48:21 +02:00
Philipp Wolfer
21d757e37c
listenbainz: fixed loves export not considering timestamp 2025-05-01 12:32:02 +02:00
Philipp Wolfer
c305b6c7e3
Simplify timestamp comparisons 2025-05-01 12:27:24 +02:00
Philipp Wolfer
bcb1834994
scrobblerlog: use camelcase for constants 2025-04-29 13:29:00 +02:00
Philipp Wolfer
d51c97c648
Code style: All uppercase acronyms URL, ISRC, ID, HTTP 2025-04-29 13:23:41 +02:00
Philipp Wolfer
1516a3a9d6
scrobblerlog: renamed setting include-skipped to ignore-skipped
This makes the setting consistent with the similar setting for spotify
2025-04-29 12:57:28 +02:00
Philipp Wolfer
159f486cdc
Upgrade musicbrainzws2 2025-04-29 10:32:59 +02:00
Philipp Wolfer
b104c2bc42
scrobblerlog: fixed listen export progress 2025-04-29 10:10:32 +02:00
Philipp Wolfer
ed191d2f15
scrobblerlog: Allow configuring fallback time zone
Fixes #6
2025-04-29 10:05:40 +02:00
Philipp Wolfer
0f4b04c641
Renamed Backend.FromConfig to Backend.InitConfig and added error handling 2025-04-29 10:03:28 +02:00
Philipp Wolfer
aad542850a
scrobblerlog: Use specific Record type
This makes the interface more generic and easier to reuse in other
projects.
2025-04-29 09:18:57 +02:00
Philipp Wolfer
aeb3a56982
Moved scrobblerlog parsing to separate package 2025-04-29 08:44:31 +02:00
Philipp Wolfer
69665bc286
scrobblerlog: consider timezone from parsed file 2025-04-29 07:54:27 +02:00
Philipp Wolfer
91f78d04dd
ListenBrainz: Handle missing loves metadata for merged recordings
If a loved recording MBID got merged into another recording, the love on
ListenBrainz has no metadata. Lookup the metadata directly from
MusicBrainz.
2025-04-27 18:59:26 +02:00
Philipp Wolfer
db78bfe457
Fixed subsonic test 2025-04-27 18:16:27 +02:00
Philipp Wolfer
20c9ada6ec
RecordingMsid -> RecordingMSID 2025-04-27 18:14:48 +02:00
Philipp Wolfer
7c0774fb8d
ListenBrainz: Fixed loves export 2025-04-27 18:11:58 +02:00
Philipp Wolfer
90bf51a00b
ListenBrainz: Log missing recording MBID on love import 2025-04-27 17:54:29 +02:00
Philipp Wolfer
910056b0a6
Subsonic: Support for some OpenSubsonic tags
Mainly this makes the MusicBrainz recording ID available
2025-04-27 17:53:51 +02:00
Philipp Wolfer
2d66d41873
ListenBrainz: Fix love import progress
Exporting existing loves must not mark the progress as completed.
2025-04-27 16:57:30 +02:00
Philipp Wolfer
da6c920789
ListenBrainz: Fix loves import loading all existing loves
Fixes import if the user had more than 1000 loves already
2025-04-27 16:57:13 +02:00
Philipp Wolfer
01e7569051
Fixed progress for subsonic loves export 2025-04-27 16:21:59 +02:00
Philipp Wolfer
0d9bc74bc0
More conversion to mbtypes.MBID 2025-04-03 15:19:26 +02:00
Philipp Wolfer
13eb8342ab
Use mbtypes.ISRC type 2025-04-03 15:08:02 +02:00
Philipp Wolfer
ad1644672c
Write acronym MBID all uppercase 2025-04-03 15:00:45 +02:00
Philipp Wolfer
8fff19ceac
Use MBID type from go.uploadedlobster.com/mbtypes 2025-04-03 14:56:39 +02:00
Philipp Wolfer
bcc7bf3167
Replaced util Min/Max functions with builtin 2024-04-15 15:47:16 +02:00
Philipp Wolfer
357932f9b0
Use resty response.IsSuccess() instead of checking for status code 200 2024-03-24 16:36:53 +01:00
Philipp Wolfer
3f1bebd8ed
deezer: fix artist and album ID URIs
Fixes #7
2024-01-29 08:27:51 +01:00
Philipp Wolfer
1aa7b61649
subsonic: include subsonic_id as additional metadata 2024-01-26 12:21:11 +01:00
Philipp Wolfer
84443d0e69
Close export progress in export goroutine
Fixes crash in case of importer exiting prematurely
2024-01-15 08:21:38 +01:00
Philipp Wolfer
1cea9bd301
Use ImportResult log for dump backend 2024-01-15 08:05:05 +01:00
Philipp Wolfer
8a2ddb7772
Replaced ImportResult.ImportErrors with ImportResult.ImportLog 2024-01-15 08:00:17 +01:00
Philipp Wolfer
6281554248
jspf: fixed creating new file in append mode 2024-01-14 23:41:15 +01:00
Philipp Wolfer
60bbbb9f15
spotify-history: min. playback time for skipped tracks is now in seconds 2024-01-14 22:22:00 +01:00
Philipp Wolfer
01380bd730
listenbrainz: localize duplicate listen message 2024-01-14 22:09:12 +01:00
Philipp Wolfer
0d04b73338
listenbrainz: implement duplicate listen check on import 2024-01-14 22:04:15 +01:00
Philipp Wolfer
925c21893b
spotifyhistory: configurable min duration for skipped tracks 2024-01-13 14:12:19 +01:00
Philipp Wolfer
8c459f4d2f
Spotify extended streaming history exporter 2024-01-13 13:55:05 +01:00
Philipp Wolfer
7666ca53a7
Allow default values for boolean config settings 2024-01-13 13:18:52 +01:00
Philipp Wolfer
6ac2b4f142
Moved ratelimit to pkg 2024-01-12 17:24:05 +01:00
Philipp Wolfer
c4da3a40cc
Added util.Min and util.Max helpers 2024-01-12 17:24:05 +01:00