Commit graph

88 commits

Author SHA1 Message Date
Philipp Wolfer
069f0de2ee
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 11:53:45 +02:00
Philipp Wolfer
3b1adc9f1f
Fix duplicate calls to handle import errors
This fixes the import process hanging on error
2025-05-04 11:53:43 +02:00
Philipp Wolfer
1c3364dad5
Close export results channel in generic implementation
This removes the need for every implementation to handle this case.
2025-05-04 11:53:42 +02:00
Philipp Wolfer
b3136bde9a
jspf: add MB extension, if it does not exist 2025-05-04 11:52:45 +02:00
Philipp Wolfer
8885e9cebc
Fix scrobblerlog timezone not being set from config 2025-05-02 21:35:14 +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