sync playlists between spotify and navidrome
This commit is contained in:
@@ -17,7 +17,19 @@ type SortCmd struct {
|
||||
}
|
||||
|
||||
type SyncPlaylists struct {
|
||||
Url string `arg:"positional,required"`
|
||||
SpotifyArgs
|
||||
NavidromeArgs
|
||||
}
|
||||
|
||||
type SpotifyArgs struct {
|
||||
SpotifyClientID string `arg:"--spotify-client-id,env:SPOTIFY_CLIENT_ID,required"`
|
||||
SpotifyClientSecret string `arg:"--spotify-client-secret,env:SPOTIFY_CLIENT_SECRET,required"`
|
||||
}
|
||||
|
||||
type NavidromeArgs struct {
|
||||
NavidromeURL string `arg:"--navidrome-url,env:ND_URL,required"`
|
||||
NavidromeUser string `arg:"--navidrome-user,env:ND_USER,required"`
|
||||
NavidromePass string `arg:"--navidrome-pass,env:ND_PASS,required"`
|
||||
}
|
||||
|
||||
type FixCommentCmd struct {
|
||||
@@ -28,7 +40,7 @@ type args struct {
|
||||
Info *InfoCmd `arg:"subcommand:info"`
|
||||
Sort *SortCmd `arg:"subcommand:sort"`
|
||||
FixCommentTag *FixCommentCmd `arg:"subcommand:fix-comment"`
|
||||
SyncPlaylists *SyncPlaylists `arg:"subcommand:spotify"`
|
||||
SyncPlaylists *SyncPlaylists `arg:"subcommand:sync-playlist"`
|
||||
Verbose bool `arg:"-v" default:"false"`
|
||||
DryRun bool `arg:"--dry-run" default:"false"`
|
||||
}
|
||||
@@ -49,7 +61,13 @@ func Run() {
|
||||
case args.FixCommentTag != nil:
|
||||
ripsort.FixComment(args.FixCommentTag.Path, args.DryRun)
|
||||
case args.SyncPlaylists != nil:
|
||||
ripsort.SyncPlaylists(args.SyncPlaylists.Url)
|
||||
ripsort.SyncPlaylists(
|
||||
args.SyncPlaylists.SpotifyClientID,
|
||||
args.SyncPlaylists.SpotifyClientSecret,
|
||||
args.SyncPlaylists.NavidromeURL,
|
||||
args.SyncPlaylists.NavidromeUser,
|
||||
args.SyncPlaylists.NavidromePass,
|
||||
)
|
||||
default:
|
||||
p.Fail("Must specify command")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user