Commit graph

83 commits

Author SHA1 Message Date
Philipp Wolfer
f447a259d4
OAuth2Strategy interface to abstract the details of the login flow
This allows implementing clients the deviate from the standard OAuth2 flow
2023-11-23 14:41:31 +01:00
Philipp Wolfer
780af98e1e
Spotify: consider rate limit HTTP headers 2023-11-23 10:49:40 +01:00
Philipp Wolfer
68b2e649f0
JSPF: Include full LB additional info in metadata 2023-11-23 09:59:38 +01:00
Philipp Wolfer
36cc41d05d
Uppercase acronyms (ISRC / JSPF) 2023-11-23 08:27:37 +01:00
Philipp Wolfer
409acccebe
JSPF: Listen import 2023-11-22 18:11:21 +01:00
Philipp Wolfer
cac88f316b
Reduced redundancy in model conversions and consistent naming 2023-11-22 17:53:09 +01:00
Philipp Wolfer
e29d8e2a63
Custom OAuth2 TokenSource to persist refreshed tokens in database 2023-11-22 17:24:30 +01:00
Philipp Wolfer
4a9f26d9db
Improved progress report for Spotify loves 2023-11-22 12:39:41 +01:00
Philipp Wolfer
0e3061e837
Support disc numbers 2023-11-22 12:05:00 +01:00
Philipp Wolfer
d810fc9cac
Ensure exporters finish the progress 2023-11-22 11:55:31 +01:00
Philipp Wolfer
2e6319d296
Spotify: Loves export 2023-11-22 11:52:28 +01:00
Philipp Wolfer
ed9debc127
Spotify: Implemented API request and tests for user tracks 2023-11-22 10:24:33 +01:00
Philipp Wolfer
d0739aad0f
Use config from OAuth2Authenticator for auth command 2023-11-22 08:41:18 +01:00
Philipp Wolfer
cf3747bde2
Fixed oauth token refresh for source 2023-11-22 08:21:43 +01:00
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
74f2a3cef7
Use port 2369 as standard port for OAuth callbacks 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
14d944c7ad
Basic "scotty auth" implementation 2023-11-19 23:56:31 +01:00
Philipp Wolfer
8b227cb514
Better naming, distingiush between "service" and "backend" 2023-11-19 22:54:42 +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
1ba165a631
Ignore Lapce editor files and configure go workspace 2023-11-17 07:40:25 +01:00
Philipp Wolfer
3a76ec7988
Added basic documentation of backend interfaces 2023-11-15 10:06:35 +01:00
Philipp Wolfer
bae81d9b08
If import fails report the last timestamp 2023-11-15 09:20:52 +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
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