|
|
|
@ -91,6 +91,44 @@ ParseResult extract(final List<String> args) {
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void _onHelpStage() {
|
|
|
|
|
final String help = '''
|
|
|
|
|
usage: funkblubber [[-OPTIONS|URL]...]
|
|
|
|
|
|
|
|
|
|
A simple CLI for interaction with your Funkwhale account.
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
[-a|--album ID] Provide with album ID to download it.
|
|
|
|
|
|
|
|
|
|
[-A|--artist ID] Provide with artist ID to download it and their albums.
|
|
|
|
|
|
|
|
|
|
[-p|--path PATH] Provide to explicitly define download directory.
|
|
|
|
|
Assumed '.'.
|
|
|
|
|
|
|
|
|
|
[-d|--domain DOMAIN] Provide to explicitly define the host where your
|
|
|
|
|
Funkwhale instance is. Required with -a, -A, and -u.
|
|
|
|
|
Is not required if you download by a full URL.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
funkblubber https://my.funkwhale/library/tracks/10244/
|
|
|
|
|
Download album by URL to current folder.
|
|
|
|
|
|
|
|
|
|
funkblubber https://my.funkwhale/library/tracks/10244/ -p music
|
|
|
|
|
Download album by URL to local ./music folder.
|
|
|
|
|
|
|
|
|
|
funkblubber -A 152 -d my.funkwhale -p media/music/
|
|
|
|
|
Download everything by artist with ID 152 from a funkwhale instance
|
|
|
|
|
with my.funkwhale domain and save it to local ./media/music folder.
|
|
|
|
|
|
|
|
|
|
funkblubber --album 1423 -d my.funkwhale
|
|
|
|
|
Download album with ID 1423 from a funkwhale instance
|
|
|
|
|
with my.funkwhale domain and save it to current folder.
|
|
|
|
|
|
|
|
|
|
''';
|
|
|
|
|
|
|
|
|
|
console.info(help);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StageResult _onEntityStage(
|
|
|
|
|
final String arg,
|
|
|
|
|
final ParseResult previousResult,
|
|
|
|
@ -193,6 +231,11 @@ StageResult _onNothingStage(
|
|
|
|
|
case '--domain':
|
|
|
|
|
currentStage = ParsingStage.domain;
|
|
|
|
|
break;
|
|
|
|
|
case '-h':
|
|
|
|
|
case '--help':
|
|
|
|
|
_onHelpStage();
|
|
|
|
|
currentStage = ParsingStage.nothing;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
try {
|
|
|
|
|
final Uri uri = Uri.parse(arg);
|
|
|
|
|