Philipp Wolfer
|
46e6a667c8
|
Added constants for app name and version, use custom user-agent
|
2023-11-24 08:58:31 +01:00 |
|
Philipp Wolfer
|
f6b4ea4a46
|
README: Some preliminary installation instructions
|
2023-11-24 08:30:32 +01:00 |
|
Philipp Wolfer
|
3ce0851f45
|
Publish module redirect on https://go.uploadedlobster.com/scotty
|
2023-11-24 08:16:29 +01:00 |
|
Philipp Wolfer
|
e1c9fb6076
|
Move the JSPF playlist code into public module
|
2023-11-24 08:04:56 +01:00 |
|
Philipp Wolfer
|
0f5cb49b4c
|
Refactored common rate limit code into separate module
|
2023-11-24 01:24:54 +01:00 |
|
Philipp Wolfer
|
857661ebf9
|
Restructured code, moved all modules into internal
For now all modules are considered internal. This might change later
|
2023-11-24 01:24:54 +01:00 |
|
Philipp Wolfer
|
f94e0f1e85
|
Basic README
|
2023-11-24 01:24:53 +01:00 |
|
Philipp Wolfer
|
fb285930c0
|
Avoid double closing of export progress channel
|
2023-11-23 22:45:50 +01:00 |
|
Philipp Wolfer
|
e8fdfb95a6
|
ListenBrainz submit listens
|
2023-11-23 22:20:40 +01:00 |
|
Philipp Wolfer
|
d55114ed3f
|
Extended Spotify test
|
2023-11-23 17:34:36 +01:00 |
|
Philipp Wolfer
|
1a06168039
|
Deezer export listens
|
2023-11-23 17:34:11 +01:00 |
|
Philipp Wolfer
|
3a364b6ae4
|
Deezer authentication and loves export
|
2023-11-23 17:07:56 +01:00 |
|
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 |
|