Commit graph

54 commits

Author SHA1 Message Date
Philipp Wolfer
117014a977
Change project license to GPLv3
Individual files, mainly the models and the HTTP clients stay under MIT
2023-11-22 08:05:23 +01:00
Philipp Wolfer
08876a2d70
Fixed import count updates 2023-11-22 07:37:44 +01:00
Philipp Wolfer
56eae67292
scrobblerlog: implemented append mode 2023-11-22 07:36:48 +01:00
Philipp Wolfer
1af484e0f6
Fixed storing last import timestamp 2023-11-21 18:14:11 +01:00
Philipp Wolfer
fa7732c538
Autenticate OAuth backends 2023-11-21 17:51:13 +01:00
Philipp Wolfer
94704f9cd0
WIP: Authenticate 2023-11-21 16:43:40 +01:00
Philipp Wolfer
3d3685d8bc
Initial implementation for Spotify listens export 2023-11-21 16:42:59 +01:00
Philipp Wolfer
3ded679d80
Maloja, ListenBrainz: Complete progress on error 2023-11-21 08:52:25 +01:00
Philipp Wolfer
c13c9175e3
Renamed ImportBackend methods to StartImport / FinishImport 2023-11-20 07:43:54 +01:00
Philipp Wolfer
6e330daf06
Implemented progressbar for export/import 2023-11-19 13:56:06 +01:00
Philipp Wolfer
ab04eb1123
Updated all import/export interfaces 2023-11-17 07:41:47 +01:00
Philipp Wolfer
729a3d0ed0
Add ImportResult.UpdateTimestamp method 2023-11-17 07:41:47 +01:00
Philipp Wolfer
298697dcfc
Run exporter in goroutine
Use channel to pass data from exporter to importer
2023-11-17 07:41:46 +01:00
Philipp Wolfer
4e9f50b6b6
More resilient HTTP requests
Fixed rate limit check for ListenBrainz and Funkwhale. Also retry always
on server side errors.
2023-11-15 09:20:35 +01:00
Philipp Wolfer
5a85987476
Maloja listens import 2023-11-14 15:09:34 +01:00
Philipp Wolfer
ca745038e3
Simplified backend names 2023-11-14 07:49:43 +01:00
Philipp Wolfer
1f2d5f662d
JSPF loves export 2023-11-14 00:46:08 +01:00
Philipp Wolfer
dcb5e9c2c6
Models for marshalling JSPF playlists 2023-11-13 23:56:39 +01:00
Philipp Wolfer
4d18a207ee
ListenBrainz: Support import of loves without recording MBID 2023-11-13 23:55:47 +01:00
Philipp Wolfer
1b5ea241b6
ListenBrainz: Harmonized code 2023-11-13 18:20:16 +01:00
Philipp Wolfer
bef482fd68
Funkwhale: Handle rate limit headers 2023-11-13 18:20:01 +01:00
Philipp Wolfer
9b5a087974
ListenBrainz: Skip importing existing loves 2023-11-13 18:11:18 +01:00
Philipp Wolfer
6dd67aedcb
Dump: Print recording ID 2023-11-13 11:43:51 +01:00
Philipp Wolfer
aa453e4dc2
ListenBrainz: Fix love import and rate limit check 2023-11-13 11:42:09 +01:00
Philipp Wolfer
161ada7aff
ListenBrainz: Handle rate limit 2023-11-13 09:48:16 +01:00
Philipp Wolfer
ebcec46d7a
ListenBrainz: Fixed loves pagination 2023-11-13 09:47:27 +01:00
Philipp Wolfer
719ef5b84b
Minor simplification of test cases 2023-11-13 09:23:35 +01:00
Philipp Wolfer
0020594ea3
ListenBrainz: Love export and basic import
Love import currently works only for tracks with existing recording MBID
2023-11-13 09:21:22 +01:00
Philipp Wolfer
ead323eaed
Import result can report total and processed items 2023-11-12 18:41:29 +01:00
Philipp Wolfer
516de905bd
Renamed interfaces ListenImport|Export to ListensImport|Export 2023-11-12 18:40:00 +01:00
Philipp Wolfer
baed52dacc
Implemented subsonic loves import 2023-11-12 18:27:50 +01:00
Philipp Wolfer
c4ae2eda48
Simple tests for Backend.FromConfig implementations 2023-11-12 17:51:15 +01:00
Philipp Wolfer
aa01ae1342
Unified code for backend clients and tests 2023-11-12 16:28:23 +01:00
Philipp Wolfer
9316838d59
Funkwhale: Implemented LovesExport 2023-11-12 15:57:18 +01:00
Philipp Wolfer
48c8843f91
Moved specifc backends into separate packages 2023-11-12 01:14:53 +01:00
Philipp Wolfer
238163cb05
Implemented loves export for dump backend 2023-11-12 00:48:19 +01:00
Philipp Wolfer
cae7d22a36
Implemented Funkwhale API listens export 2023-11-12 00:39:19 +01:00
Philipp Wolfer
3ac3fac317
Test ListenBrainz client 2023-11-11 23:03:23 +01:00
Philipp Wolfer
cf8a6d2ab6
Tests for reading / writing scrobbler log 2023-11-11 17:08:23 +01:00
Philipp Wolfer
9d97e324aa
Move models to separate package
This allows easier reuse and better separation of code without introducing
circular dependencies
2023-11-11 16:20:40 +01:00
Philipp Wolfer
cdddf89a3e
More tests 2023-11-10 18:55:22 +01:00
Philipp Wolfer
94be108e8b
Tests and fixed for LB additional data conversion 2023-11-10 18:31:47 +01:00
Philipp Wolfer
c6331328d4
Use testify to simplify tests 2023-11-10 08:59:19 +01:00
Philipp Wolfer
f9ac0328a7
Implement "backends" command 2023-11-10 08:43:17 +01:00
Philipp Wolfer
153b1a0def
Initial interfaces fr love transfer 2023-11-10 00:57:25 +01:00
Philipp Wolfer
49cb2774e2
listenbrainz: Read data from newest first
Very low min_ts parameters lead to empty results from LB and there is no
easy way to determine the oldest valid timestamp.
2023-11-10 00:56:43 +01:00
Philipp Wolfer
6047a9b274
Fixed Maloja AdditionalInfo creation 2023-11-10 00:55:32 +01:00
Philipp Wolfer
0bee8561e3
Implemented Maloja listen export 2023-11-10 00:00:49 +01:00
Philipp Wolfer
10590f9f67
scrobblerlog: write device name as unknown 2023-11-09 22:54:55 +01:00
Philipp Wolfer
8395f1e02c
ListenBrainz API listens exporter 2023-11-09 22:49:43 +01:00