Philipp Wolfer
|
9c363cc06d
|
Use config.ServiceConfig across API
|
2023-12-07 23:55:20 +01:00 |
|
Philipp Wolfer
|
091b3c2f49
|
Prevent adding duplicate services
|
2023-12-07 23:09:16 +01:00 |
|
Philipp Wolfer
|
8743a9d81c
|
Moved prompt helpers into cli package
|
2023-12-07 22:32:08 +01:00 |
|
Philipp Wolfer
|
c9fa21be73
|
Dynamic per-backend configuration options
|
2023-12-07 22:20:27 +01:00 |
|
Philipp Wolfer
|
ae5f1c5f26
|
Basic TUI to add new service configuration
|
2023-12-07 22:20:27 +01:00 |
|
Philipp Wolfer
|
ce5cdceb1f
|
Initialize config if it does not exist, set database relative to config dir
|
2023-12-07 22:20:27 +01:00 |
|
Philipp Wolfer
|
c101749faa
|
Link to SourceHut project page
|
2023-12-07 22:19:11 +01:00 |
|
Philipp Wolfer
|
ed4c0aa1f8
|
jspf: add MB playlist extension, public field must be boolean
|
2023-12-07 13:13:16 +01:00 |
|
Philipp Wolfer
|
7a2fcc091e
|
spotify: fixed loves export count
|
2023-12-05 09:10:25 +01:00 |
|
Philipp Wolfer
|
28ed1183e4
|
Use fmt.Errorf, error strings should start lowercase
|
2023-12-05 08:24:43 +01:00 |
|
Philipp Wolfer
|
a9e07915ce
|
Transfer command refactoring
Make transfer command processing even more modular
|
2023-12-05 08:24:42 +01:00 |
|
Philipp Wolfer
|
7c85ba05ab
|
refactor: generic common cmd processing
|
2023-12-04 08:08:30 +01:00 |
|
Philipp Wolfer
|
a87686af57
|
Reduced code redundancy in import processing
|
2023-12-03 17:10:50 +01:00 |
|
Philipp Wolfer
|
ca3b8492b0
|
Unified export result types
|
2023-12-03 16:56:12 +01:00 |
|
Philipp Wolfer
|
a4a05ea047
|
subsonic: fixed filtering songs based on timestamp
|
2023-12-01 11:48:23 +01:00 |
|
Philipp Wolfer
|
8a1cd8ded7
|
Combine all build artifacts in single archive
|
2023-11-28 18:13:41 +01:00 |
|
Philipp Wolfer
|
b169dd2cc4
|
auth: generate oauth2 state randomly
|
2023-11-28 18:13:40 +01:00 |
|
Philipp Wolfer
|
4bf0f2c81d
|
listenbrainz: fetch listens in reverse listen time order
This allows parallel import
|
2023-11-28 18:13:40 +01:00 |
|
Philipp Wolfer
|
cde9b28c28
|
improved packaging
- use version in archive name
- "macOS" instead of "Darwin"
- include example config in archives
- use subdir in archives
|
2023-11-28 13:07:49 +01:00 |
|
Philipp Wolfer
|
d96df4367d
|
Release 0.2.0
|
2023-11-28 09:10:03 +01:00 |
|
Philipp Wolfer
|
f9d25e3b6f
|
lastfm: listens export
|
2023-11-28 08:55:53 +01:00 |
|
Philipp Wolfer
|
267018901b
|
lastfm: listens import
|
2023-11-27 14:48:20 +01:00 |
|
Philipp Wolfer
|
406e150987
|
lastfm: loves import
|
2023-11-27 14:48:12 +01:00 |
|
Philipp Wolfer
|
1249238d3a
|
lastfm: loves export
|
2023-11-27 14:48:00 +01:00 |
|
Philipp Wolfer
|
5b8f4788f9
|
lastfm: authentication
|
2023-11-27 14:47:46 +01:00 |
|
Philipp Wolfer
|
3ccbb20a9e
|
Fixed tracking import errors
|
2023-11-27 14:44:20 +01:00 |
|
Philipp Wolfer
|
0045a5096e
|
listenbrainz: fixed listens pagination
|
2023-11-27 14:43:11 +01:00 |
|
Philipp Wolfer
|
ca99a3d5fb
|
jspf: consider love track MBID
|
2023-11-27 14:42:59 +01:00 |
|
Philipp Wolfer
|
ed784643f7
|
Removed workspace files
These should not be needed
|
2023-11-24 16:04:47 +01:00 |
|
Philipp Wolfer
|
0828fa00fb
|
Use goreleaser for packaging
|
2023-11-24 14:55:41 +01:00 |
|
Philipp Wolfer
|
5aed552854
|
Moved tokensource to auth package
|
2023-11-24 10:30:30 +01:00 |
|
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 |
|