Commit graph

322 commits

Author SHA1 Message Date
Philipp Wolfer
0115eca1c6
Minor code cleanup when creation time.Duration 2025-05-25 15:53:01 +02:00
Philipp Wolfer
78a05e9f54
Implemented deezer-history loves export 2025-05-25 15:49:06 +02:00
Philipp Wolfer
e85090fe4a
Implemented deezer-history backend listen import 2025-05-25 15:38:48 +02:00
Philipp Wolfer
1244405747
Moved archive package to public pkg/ 2025-05-25 12:51:36 +02:00
Philipp Wolfer
28c618ffce
Implemented tests and added documentation for archive 2025-05-25 12:46:44 +02:00
Philipp Wolfer
4da5697435
If dump does no write to file, output the result as log 2025-05-24 20:54:20 +02:00
Philipp Wolfer
312d9860cf
Fixed import log output duplicating 2025-05-24 20:43:02 +02:00
Philipp Wolfer
b1b0df7763
listenbrainz: fixed timestamp update with duplicates 2025-05-24 18:52:15 +02:00
Philipp Wolfer
b18a6c2104
Update changelog and README
Clarify that some services are not suited for full listen history export
2025-05-24 18:30:26 +02:00
Philipp Wolfer
c29b2e20cd
deezer: fixed endless export loop if user's listen history is empty 2025-05-24 18:22:42 +02:00
Philipp Wolfer
93767df567
Allow editing config option after renaming 2025-05-24 17:54:24 +02:00
Philipp Wolfer
1ef498943b
Renamed parameter for lbarchive also to "archive-file" 2025-05-24 17:38:19 +02:00
Philipp Wolfer
7fb77da135
Allow reading Spotify history directly from ZIP file 2025-05-24 17:35:19 +02:00
Philipp Wolfer
ef6780701a
Use ExtendTrackMetadata also for LB API loves export 2025-05-24 17:08:15 +02:00
Philipp Wolfer
f70b6248b6
Update musicbrainzws2 to fix rate limit issues 2025-05-24 16:48:38 +02:00
Philipp Wolfer
4ad89d287d
Rework ratelimit code
Simplify variables and avoid potential error if retry header reading fails
2025-05-24 16:47:13 +02:00
Philipp Wolfer
7542657925
Use LB API to lookup missing metadata for loves
This is faster than using the MBID API individually
2025-05-24 16:46:10 +02:00
Philipp Wolfer
dddd2e4eec
Implemented lbarchive loves export 2025-05-24 11:59:35 +02:00
Philipp Wolfer
d250952678
Extend dump backend to be able to write to a file 2025-05-24 11:59:09 +02:00
Philipp Wolfer
975e208254
Simplify dirArchive by using os.dirFS and have Archive.Open return fs.File 2025-05-24 02:20:07 +02:00
Philipp Wolfer
0231331209
Implemented listenrbainz.ExportArchive.IterFeedback 2025-05-24 01:23:12 +02:00
Philipp Wolfer
cf5319309a
Renamed listenbrainz.Archive to listenbrainz.ExportArchive 2025-05-24 00:51:28 +02:00
Philipp Wolfer
8462b9395e
Keep listenbrainz package internal for now 2025-05-24 00:47:40 +02:00
Philipp Wolfer
1025277ba9
Moved generic archive abstraction into separate package 2025-05-24 00:39:21 +02:00
Philipp Wolfer
424305518b
Implemented directory mode for listenbrainz-archive 2025-05-24 00:37:17 +02:00
Philipp Wolfer
92e7216fac
Implemented listenbrainz-archive backend with listen export support 2025-05-24 00:37:16 +02:00
Philipp Wolfer
5c56e480f1
Moved general LB related code to separate package 2025-05-24 00:37:16 +02:00
Philipp Wolfer
34b6bb9aa3
Use filepath.Join instead of file.Join 2025-05-24 00:37:05 +02:00
Philipp Wolfer
142d38e9db
Release 0.6.0 2025-05-23 10:10:08 +02:00
Philipp Wolfer
3b9d07e6b5 Implemented ScrobblerLog.ParseIter 2025-05-23 10:00:22 +02:00
Philipp Wolfer
15755458e9 Fixed iterProgress not stopping if yield returns false 2025-05-23 09:59:34 +02:00
Philipp Wolfer
5927f41a83
Revert "jspf/scrobblerlog: return results in batches"
This reverts commit a8ce2be5d7.
2025-05-23 08:52:23 +02:00
Philipp Wolfer
b7ce09041e
Fix potential zero division error in iterProgress 2025-05-23 08:12:37 +02:00
Philipp Wolfer
a8ce2be5d7
jspf/scrobblerlog: return results in batches
This allows the importer to start working while export is still in progress
2025-05-23 07:48:42 +02:00
Philipp Wolfer
c7af90b585
More granular progress report for JSPF and scrobblerlog 2025-05-23 07:47:52 +02:00
Philipp Wolfer
83eac8c801
Import progress shows actual number of processed items 2025-05-23 07:40:52 +02:00
Philipp Wolfer
12eb7acd98
Update changelog 2025-05-22 18:56:49 +02:00
Philipp Wolfer
e9768c0934
Upgrade musicbrainzws2 2025-05-22 18:45:39 +02:00
Philipp Wolfer
dacfb72f7d
Upgrade dependencies 2025-05-22 17:09:26 +02:00
Philipp Wolfer
20853f7601
Simplify context cancellation checks 2025-05-22 14:13:31 +02:00
Philipp Wolfer
4a66e3d432
Pass context to import backends 2025-05-22 11:53:08 +02:00
Philipp Wolfer
26d9f5e840
Pass context to export backends 2025-05-22 11:53:05 +02:00
Philipp Wolfer
b5bca1d4ab
Use context aware musicbrainzws2 2025-05-22 11:51:53 +02:00
Philipp Wolfer
d1642b7f1f
Make web service clients context aware 2025-05-22 11:51:53 +02:00
Philipp Wolfer
adfe3f5771
Use the transfer context also for the progress bars 2025-05-22 11:51:52 +02:00
Philipp Wolfer
3b545a0fd6
Prepare using a context for export / import
This will allow cancelling the export if the import fails
before the export finished.

For now the context isn't passed on to the actual export functions,
hence there is not yet any cancellation happening.
2025-05-22 11:51:51 +02:00
Philipp Wolfer
536fae6a46 ScrobblerLog.ReadHeader now accepts io.Reader 2025-05-22 11:51:23 +02:00
Philipp Wolfer
97600d8190 Update dependencies 2025-05-09 07:38:28 +02:00
Philipp Wolfer
a42b5d784d
Added short doc string to ratelimit package 2025-05-08 07:40:12 +02:00
Philipp Wolfer
a87c42059f
Use a WaitGroup to wait for both export and import goroutine to finish 2025-05-05 17:49:44 +02:00