Commit graph

200 commits

Author SHA1 Message Date
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
240351dc3e
Example config file 2023-11-15 07:56:30 +01:00
Philipp Wolfer
36f8f3e311
Use nested map for service configs 2023-11-15 07:35:28 +01:00
Philipp Wolfer
c8146355c1
Database support to store the last processed timestamp 2023-11-14 17:19:01 +01:00
Philipp Wolfer
503449c43d
Removed unused CLI flag added by default implementation 2023-11-14 15:14:54 +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
27685d617a
Implemented "beam --timestamp {n}" 2023-11-13 23:55:47 +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
dfaf21b234
Implemented beam loves command 2023-11-12 00:54:51 +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
0ee53aaa4c
Cross compile binaries 2023-11-10 17:21:03 +01:00
Philipp Wolfer
0939748829
Simple CI task 2023-11-10 14:38:00 +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
Philipp Wolfer
49d06b7f52
Various output tweaks 2023-11-09 17:31:48 +01:00
Philipp Wolfer
e9b7aabc0a
Implemented scrobbler.log writer 2023-11-09 17:31:02 +01:00
Philipp Wolfer
0b3b3b768d
Rockbox scrobbler.log listen reader 2023-11-09 16:41:27 +01:00
Philipp Wolfer
8661075975
Basic backend structure and listen transfer implementation 2023-11-09 16:40:46 +01:00
Philipp Wolfer
80ef3f23c0
Basic command structure 2023-11-09 10:02:48 +01:00