Commit Graph

374 Commits

Author SHA1 Message Date
Miraclx df0468362e
Add and implement the --playlist-append flag 2020-07-04 15:19:46 +01:00
Miraclx 55ebaf5f89
Add and implement the --playlist-noescape argument 2020-07-04 15:13:10 +01:00
Miraclx 0b20c24ebf
Swap escaping for replacing #-characters with its hex equivalent 2020-07-04 15:07:41 +01:00
Miraclx ea763600d3
Specifically check write permissions for the base directory 2020-07-04 14:52:03 +01:00
Miraclx 4fc56b7edd
Create a reserved subcommand <context> 2020-07-04 14:41:57 +01:00
Miraclx 48febfdaa9
Add -k, --pass options to profile subcommands wherever necessary 2020-07-04 14:39:07 +01:00
Miraclx 0253e7492f
Hide unimplemented subcommands by default 2020-07-04 14:38:01 +01:00
Miraclx 3bae58bfe5
Add extra subcommands and aliases under the profile subcommand 2020-07-04 14:37:13 +01:00
Miraclx c7273446bf
Add default non-action to the serve subcommand 2020-07-04 14:36:41 +01:00
Miraclx 2678ef0a25
Add info for the get subcommand 2020-07-04 14:09:40 +01:00
Miraclx 7a0c1bc275
Add \n to prettify CLI output 2020-07-04 14:07:40 +01:00
Miraclx 6557b54a48
Add header per-query for playlists 2020-07-04 14:06:53 +01:00
Miraclx f46fbc6527
Move urify logic into FreyrCore 2020-07-04 13:59:35 +01:00
Miraclx 88ac43509d
Implement the SHOW_DEBUG_STACK for fatal errors 2020-07-04 07:06:06 +01:00
Miraclx 49475452fb
Include service name in playlist comment and escape track paths 2020-06-24 06:11:11 +01:00
Miraclx fa3b0d98e9
Implement the --playlist-namespace flag 2020-06-22 03:33:11 +01:00
Miraclx 2c2c2a7ea0
Implement the --playlist-dir flag 2020-06-22 03:30:43 +01:00
Miraclx 6111d67056
Add new CLI flags for playlist directory and namespace config 2020-06-22 03:30:14 +01:00
Miraclx e180b0b2de
Capitalize CLI flag variable names 2020-06-22 03:15:39 +01:00
Miraclx 9a4cd020b0
Add URI comments to the playlist file 2020-06-22 03:14:48 +01:00
Miraclx dfae9a1488
Remove needless base directory explicitness in playlist path spec 2020-06-22 03:13:54 +01:00
Miraclx 8ef263a4db
Fix playlist generation issue, autogenerate playlist for collections 2020-06-22 03:10:48 +01:00
Miraclx 8c74cfad13
Update error messages for sourcing and collecting feeds 2020-06-22 01:16:14 +01:00
Miraclx 7c1f365871
Update error message for invalid source items 2020-06-21 23:05:17 +01:00
Miraclx a95ce1973b
Added means to pass lastErr into the next iteration. To properly bubble it up to caller 2020-06-21 23:04:54 +01:00
Miraclx e889e62990
CLI: source collector expects at least one item from array responses 2020-06-21 23:03:35 +01:00
Miraclx eb8215a69b
Fix trackName name in collections, separate baseName 2020-06-21 16:51:09 +01:00
Miraclx 37f3df122c
Properly use `-s` only when sources returned isn't one 2020-06-20 08:49:13 +01:00
Miraclx ecdd282656
Use an async cli parser to bubble up and report fatal unhandled errors 2020-06-20 08:14:32 +01:00
Miraclx f86fb5a829
Testing: add SHOW_DEBUG_STACK env variable for debugging 2020-06-19 19:38:22 +01:00
Miraclx 9f79ce8839
Document CLI get subcommand implicitness 2020-06-19 17:05:50 +01:00
Miraclx 6d3a4482df
Add rewritten and more capable promise handler 2020-06-19 15:29:13 +01:00
Miraclx 92a60b155b
Add support for array insurance in processPromise 2020-06-19 06:00:53 +01:00
Miraclx fbde73da98
Added shimmy support for processPromise post fields 2020-06-19 05:58:41 +01:00
Miraclx 38a5283714
Set yt_music as default CLI downloader 2020-06-18 23:11:57 +01:00
Miraclx e62898a381
Give precedence to the --downloader subcommand 2020-06-18 23:11:08 +01:00
Miraclx 2aad139895
Reword the base directory in-existence error message 2020-06-17 23:56:35 +01:00
Miraclx 2cf32bcf2e
Retask the `-q` shorthand to the search command 2020-06-17 23:55:47 +01:00
Miraclx 9393c31594
Add new unimplemented subcommand: serve 2020-06-17 23:55:08 +01:00
Miraclx 6381fa6136
Added yt_music as a download sourcing option, prioritized over YouTube 2020-06-17 23:54:50 +01:00
Miraclx ebc9ad9bc4
Coerce feeds result into a promise to be diffused in case of errors 2020-06-17 23:48:52 +01:00
Miraclx 74ceae6852
Update sourcing messages 2020-06-17 23:47:59 +01:00
Miraclx 1916ec10f3
Fix undefined SOURCE and Stream ID in audio metadata 2020-06-17 23:46:11 +01:00
Miraclx a0a0761d5c
Restructure sources to use `.search()` instead of `.get()` 2020-06-17 23:41:56 +01:00
Miraclx a583bc1502
Reorder return codes to match init check order 2020-06-15 15:17:50 +01:00
Miraclx 79bbbf1d0c
Add netCheck and browser flags and configuration 2020-06-15 15:16:12 +01:00
Miraclx 263c92283e
Reorder CLI initialization checks 2020-06-15 15:13:02 +01:00
Miraclx 0d2c1d5da7
Use unifying PROP_SCHEMA on the meta symbol-tagged objects 2020-06-12 06:50:06 +01:00
Miraclx 3629a616c1
Remove now unnecessary eslint disable flag 2020-06-12 05:49:33 +01:00
Miraclx 12f26b7078
Skip explicit Promise.resolve for return values to save calls within async functions 2020-06-12 05:49:05 +01:00
Miraclx f73a710f5c
Fix implicit value check for field that may be nullish 2020-06-12 05:45:02 +01:00
Miraclx 8a5d798085
Remove filenamify from BASE_DIRECTORY 2020-06-12 02:27:04 +01:00
Miraclx ae828ae696
Add CLI logo banner and new flags 2020-06-11 18:25:57 +01:00
Miraclx e7238c391d
fix: create playlist files for playlist 2020-06-11 03:42:15 +01:00
Miraclx 4d948fe7ba
Implement cache-dir flag 2020-06-11 03:23:03 +01:00
Miraclx bdc9ad86ca
Valid-ify BASENAME and playlist filename 2020-06-11 03:17:44 +01:00
Miraclx 444720f1c6
Update example snippets for urify 2020-06-11 02:51:55 +01:00
Miraclx 74339668d6
Only proceed to default to stdin when urls are not given 2020-06-11 02:49:05 +01:00
Miraclx 39df08519f
Prefer stdin over FILE if piped while specifying input 2020-06-11 02:48:10 +01:00
Miraclx 5de12d8ab8
Use --no-tag instead of --tag 2020-06-11 02:41:49 +01:00
Miraclx ac63449089
Fix logic on the urify subcommand, default to tty if no entry 2020-06-11 02:41:36 +01:00
Miraclx 8648f9cf22
Default to --input `-` if stdin is piped 2020-06-11 01:58:54 +01:00
Miraclx a93feb30a5
Update urify subcommand functionality to handle streams and comments 2020-06-11 01:42:31 +01:00
Miraclx 4146890fcb
Extract the line parser for input streams to its own function 2020-06-11 01:40:47 +01:00
Miraclx e38e7dda97
Add functionality for reading queue from stdin 2020-06-11 00:42:23 +01:00
Miraclx 21f6c5e1c3
Update freyrCore ENGINES reference in cli.js 2020-06-11 00:34:52 +01:00
Miraclx 8171ce253a
Add better readable description for the via-tor flag 2020-06-10 15:13:59 +01:00
Miraclx c4d104c07c
Implement the urify subcommand 2020-06-10 07:14:38 +01:00
Miraclx d4b10c191e
Include unimplemented subcommands search, profile and urify 2020-06-10 06:04:13 +01:00
Miraclx 6357be41f4
Add and implement the filter sub command 2020-06-10 05:57:49 +01:00
Miraclx 5817f2e548
Use the x4p file extension as opposed to the .enc 2020-06-10 05:37:04 +01:00
Miraclx 2ffeed622f
Add better redirection to main help information when using --quiet without args 2020-06-10 05:36:39 +01:00
Miraclx d1ccafb6e6
Added better checks for when to hide banner 2020-06-09 21:07:16 +01:00
Miraclx 3a5055f000
Add help description text 2020-06-09 20:20:21 +01:00
Miraclx 2d65772943
Add --quiet flag to silence banner 2020-06-09 19:39:57 +01:00
Miraclx dedc34876d
Expressively detailed description with newlines and examples 2020-06-08 23:25:10 +01:00
Miraclx a751d5d522
Update desc and fix mp4 to mp3 typo 2020-06-08 23:20:48 +01:00
Miraclx 8447ea7135
Update CLI interface to accommodate multiple commands 2020-06-08 23:04:00 +01:00
Miraclx e7615a2168
Update parse line to program 2020-06-08 21:02:01 +01:00
Miraclx 404817feb9
Retask the `-x` flag for audio format, standardize the `--filter` flag 2020-06-08 09:54:06 +01:00
Miraclx e83d7b781d
Stick unimplemented label to flag description to top line only 2020-06-08 09:53:07 +01:00
Miraclx b7d2ac83b8
Add CLI arg commander features to fortify the interface 2020-06-08 09:50:10 +01:00
Miraclx 748de03f2f
Improve bitrate description line 2020-06-08 02:55:06 +01:00
Miraclx e4cfdb484a
Update icon characters for a uniform monospaced view 2020-06-08 00:11:51 +01:00
Miraclx 7dc03bc812
CLI: Fix feed sourcing rejection handling. Stay silent until needed 2020-06-08 00:01:07 +01:00
Miraclx a7bb1fe638
Fix query tracks awaiting capability 2020-06-07 15:58:25 +01:00
Miraclx be0261c0cd
Extract queryStats from the successfully processed queries 2020-06-04 05:51:42 +01:00
Miraclx 6ed4c83350
Fix artist skip logic: reject query if no result was returned 2020-06-04 05:49:56 +01:00
Miraclx a7951d317d
Walkback a6758e: fallback to normal -d flag handling 2020-06-04 05:27:11 +01:00
Miraclx f490e22a39
Add filename escaping to support names with invalid or reserved characters 2020-06-04 05:21:32 +01:00
Miraclx f77b1560f6
Update special characters for a more generalized unicode-indifferent view 2020-06-03 03:40:03 +01:00
Miraculous Owonubi a6758eba87
Ignore -d flags when queries are not provided 2020-06-02 05:20:32 +01:00
Miraclx daa09df8db
Include the base directory as a field in the config file 2020-05-22 22:31:38 +01:00
Miraclx 4a8bdddf43
Include flags for explicit dependency paths 2020-05-21 22:51:45 +01:00
Miraclx 657770470a
Replace stat character for album art to \u2bc8 2020-05-21 03:24:06 +01:00
Miraclx 94a93091e5
Include total queries to the stats 2020-05-21 03:23:15 +01:00
Miraclx 91ffea16ff
Fix (...length < 0) to effectively skip post-processing for failed queries 2020-05-21 03:22:46 +01:00
Miraclx a71f6efbd9
Fix service authentication concurrency race
Limit service authentication channel to one to fix errors with opening the same port when collecting data from the server.
Fix re-authentication of already authenticated services.
2020-05-21 03:21:08 +01:00
Miraclx a577c1e827
Add informative description on how to comment and structure input files 2020-05-15 04:52:40 +01:00
Miraclx f1dca77dda
Await collation of all tracks before calling it 2020-05-15 04:36:44 +01:00
Miraclx 3f0236df46
fix unidentified service name 2020-05-15 04:27:04 +01:00
Miraclx 900731ce7a
Cast queryStats as an array of responses and parse each one to support artist albums 2020-05-15 04:22:35 +01:00
Miraclx 3816da0fc6
Simplify the artist album handler, fix async awaiting
• Skip sorting albums as we could have promise responses
• Await all tracks in album to be resolved before next
2020-05-15 04:15:44 +01:00
Miraclx 58db59c46a
insulate track request errors and process their report 2020-05-14 22:00:47 +01:00
Miraclx 03198a8587
Print (no data) when queries return nullish values 2020-05-14 21:55:35 +01:00
Miraclx 500dad9802
Add support for printing (no data) from processedPromises with a null-ish return value 2020-05-14 21:53:46 +01:00
Miraclx 376b4d6af3
Remove the useless `requests` field from the default contained config 2020-05-14 18:03:21 +01:00
Miraclx 7bef03b45d
redo(d6ac2): Fix typo from copy before commit that fixed typo 2020-05-14 18:02:21 +01:00
Miraclx 2355512903
Standardize error handling and printing
Catch variable: `err`
Printing precedence:
• err.code (if any)
• err.message (if any)
• err (fallback)
2020-05-14 17:58:38 +01:00
Miraclx 0edf82e250
Use unified VALIDS object 2020-05-14 17:39:57 +01:00
Miraclx b3c3a5d769
Update concurrency description to include valid concurrency keys 2020-05-14 17:34:22 +01:00
Miraclx d6ac21183d
Fix typo: downoloader 2020-05-14 17:33:14 +01:00
Miraclx 5acff666f4
Remove sources and feed concurrency keys 2020-05-14 17:32:57 +01:00
Miraclx d1e8138a03
Fallback to native async interface as opposed to queues for source and feed handles 2020-05-14 17:32:02 +01:00
Miraclx 334e4010b9
Implement the dymanic source and feed collator into the broker 2020-05-14 17:14:44 +01:00
Miraclx 735582b93c
Replace source and feed queues with a single unifying interface for querying services in order 2020-05-14 17:06:27 +01:00
Miraclx 9b6911bb74
Use getEngineMetas to collate download-compatible services 2020-05-14 05:49:13 +01:00
Miraclx b82acece8e
Insert blank line between functions 2020-05-14 05:43:29 +01:00
Miraclx d178a6a692
Use getBitrates() to collate compatible bitrates for arg scanning and cli help 2020-05-14 05:38:13 +01:00
Miraclx cc0da20191
CLI: Include newline breaks where possible, reword some descriptions 2020-05-14 04:11:51 +01:00
Miraclx 463515f92d
Include a per-initialization field that extends the static properties of it's constructor 2020-05-14 04:08:54 +01:00
Miraclx 2e13f14e82
fix(465f93): Remove former declaration of BASE_DIRECTORY 2020-05-13 21:51:51 +01:00
Miraclx f56e98e4c7
Implement the downloader arg and downloader config order 2020-05-13 21:50:06 +01:00
Miraclx bf2c3de90c
Concatenate any array field with the `order` key 2020-05-13 21:48:12 +01:00
Miraclx 5997487500
Replace lodash.merge with lodash itself 2020-05-13 20:13:36 +01:00
Miraclx 3af411c1c7
Revert to single-line eslint exceptions 2020-05-13 19:47:35 +01:00
Miraclx b41b6e4f66
Standardize dependency require ordering
1st: Node core
2nd: Third-party libraries
3rd: Local scripts
2020-05-13 19:43:35 +01:00
Miraclx 771fb52049
Assigned the downloader flag the `-D` shorthand 2020-05-13 04:10:15 +01:00
Miraclx 465f937146
Reworded fat flag `directory-prefix` to `directory` 2020-05-13 04:09:49 +01:00
Miraclx e50591578d
Remove yt_music from possible downloaders 2020-05-13 03:29:42 +01:00
Miraclx 3ea5bc8f41
Standardize means to getting service metadata with shared symbols 2020-05-13 03:25:37 +01:00
Miraclx cac5f790d0
Fix typo on cli name libxget to freyr 2020-05-12 23:20:26 +01:00
Miraclx d689319a2e
Ensure return code is appropriate for errors with initialization of a freyr instance 2020-05-11 23:15:11 +01:00
Miraclx 4ee779293a
Switch to the freyrCoreConfig from the CLI 2020-05-11 23:15:05 +01:00
Miraclx 9a1ae554a9
Added method to collect prop schema from the services themselves 2020-05-11 23:12:27 +01:00
Miraclx c91e2cb0e3
Moved configuration base to the cli script as opposed to the main library file 2020-05-11 23:11:43 +01:00
Miraclx b5fd5a37ea
refactor informative message 2020-05-11 22:42:53 +01:00
Miraclx 5f0b578fcb
Do not respond to error events if for some reason it's emitted after completion
Wouldn't want unsolicited errors getting rid of our perfectly completed download, now would we?
2020-05-11 22:40:51 +01:00
Miraclx 6a6b57b926
Implement windows executable extension check 2020-05-11 22:00:13 +01:00
Miraclx 8ee1278ebe
Added method to force explicit .exe extension inclusion on windows platforms 2020-05-11 21:59:40 +01:00
Miraclx 9200615e8f
Replace comma with `,` 2020-05-11 03:52:22 +01:00
Miraclx ac803533b7
Update cli description for the `--downloader` flag for comma-separated ordering 2020-05-11 03:52:22 +01:00
Miraclx 4b8281bbd7
Updated flag descriptions 2020-05-11 03:52:22 +01:00
Miraclx 78cbf3f136
Add a separator on the `--concurrency` flag 2020-05-07 02:37:37 +01:00
Miraclx 9ef8f093da
Ensure to handle errors once on the single fragment stream 2020-05-07 02:35:47 +01:00
Miraclx 5cf49248e0
Inplement the `--config` flag 2020-05-07 02:30:29 +01:00
Miraclx e3cd691f2d
Add checks to ensure input file is non-binary 2020-05-06 11:37:39 +01:00
Miraclx a5a8821ee7
Invalidate the query checking process only when there's no input file 2020-05-06 11:29:34 +01:00
Miraclx 8931fb4231
CLI: Check that there's at least one query 2020-05-06 11:29:09 +01:00
Miraclx 56441fe322
Prioritize CLI arg checks before configuration 2020-05-06 11:26:56 +01:00