10 Commits

Author SHA1 Message Date
Casey Rodarmor
42e20a4a6a
Suppress stderr output if --quiet is passed
Instead of checking if `options.quiet` is set whenever printing, disable
all printing to stderr if the `--quiet` flag is passed.

Although it isn't strictly necessary, I still don't construct a progress
bar if `options.quiet` is true, since progress bars might be a little
more expensive than just printing error messages.

A future diff might add checking to the `errln` and `outln` macros, so
that they don't print at all if the respective output stream is
inactive.

type: reform
2020-09-08 16:10:51 -07:00
Eric Siegel
c23b0635ee
Add ability to create single-file torrents from stdin
Torrents may now be created from standard input by passing `--input -`.

Since `--name` and `--output` cannot be deduced, they are required when
`--input -`.

type: added
2020-04-07 19:01:43 -07:00
Casey Rodarmor
498549b35c
Allow reading torrent metainfo from stdin
Torrent metainfo can be read from standard input by passing `-`:

    cat a.torrent | imdl torrent verify --input -
    cat a.torrent | imdl torrent link --input -
    cat a.torrent | imdl torrent show --input -

type: added
2020-04-07 19:01:29 -07:00
Casey Rodarmor
0033e8381f
Test imdl torrent verify output
- Test all individual `FileError` variants
- Test terminal colors
- Test multiple and single file torrents

type: testing
2020-04-07 19:01:27 -07:00
Casey Rodarmor
1532113782
Print individual file torrent verification errors
If torrent verification fails, print all errors with individual files.

type: changed
2020-04-07 19:01:26 -07:00
Casey Rodarmor
bb34936c2f
Only write spinner and progress bar when connected to terminal
type: fixed
2020-04-07 19:01:16 -07:00
Casey Rodarmor
2b19a62134
Test creating torrents from . and ..
Test that torrent gets actual name of directory, and is created in the
correct location.

type: testing
2020-04-07 19:01:14 -07:00
Casey Rodarmor
d71bdffda1
Refactor tests and improve verification
Improve verification somewhat, but mostly refactor tests
to use test tree, and be nicer to read and write.

type: changed
2020-04-07 19:01:07 -07:00
Casey Rodarmor
6549850dac
Add initial implementation of imdl torrent verify
Adds the command `imdl` torrent verify` to verify the contents of torrents.

This implementation is extremely naive. It does successfully verify torrents,
but it will produce unsatisfying results when a torrent fails verification. In
particular, it won't give any information about which pieces in a file were
corrupt.

type: added
2020-04-07 19:01:05 -07:00
Casey Rodarmor
35a0e8f9b7
Improve torrent display formatting
- Use colors
- Use cut-friendly formatting when not writing to terminal
- Show sizes as number of bytes when not writing to terminal

type: changed
2020-04-07 19:01:03 -07:00