João M. Bezerra
5dac8431f2
Fix --format
parsing extensions with dots
...
Also improve error reporting for `--format` with malformed or
unsupported extensions
This commit is very messy, as it also does an refac in the project,
which should ideally be in a separated commit
2024-09-07 00:24:50 -03:00
Ryan Roden-Corrent
77c1a4e9db
Support decompressing stdin.
...
Fixes #687 .
If "-" is passed as a filename, decompress data from stdin.
Currently `--format` must be passed as well, but as a next step,
we could try to infer the format from magic numbers.
As stdin is not connected to the terminal, we cannot prompt for Y/N
when warning about decompression in memory, for e.g. zip. Just default
to No, and require passing "-y" in these cases.
For zip, we have to buffer the whole stream in memory to seek into it,
just as we do with a chained decoder like `.zip.bz`.
The rar format requires an actual file (not an `impl Read`), so
we write a temp file that it can decode.
When decoding a single-file archive (e.g. file.bz), the output filename
is just `-`, since we don't know the original filename. I had to add
a bit of a hack to the tests to work around this. Another option
would be to interpret "-d" as a destination filename in this case.
When decoding a multi-file archive, I decided to unpack directly into
the destination directory, as this seemed like a better experience than
adding a top-level "-" folder inside the destination.
2024-08-26 03:40:52 -03:00
Antonios Barotsis
a14bbfc904
Switched to explicit shutdown message instead of None
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
a3e5bac438
fix STDIN syncrhonization problems
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
ccbdceac34
logger: fix warning output
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
615a7d3c49
logger: flush logs temporarily
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
25d7d3d870
logger: refactor usage of sync primitives
...
use `std::sync::Barrier` instead of the barebones `Condvar` + `Mutex`
combo
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
792db000bb
move spawn_logger_thread
to logger module
...
and create another module inside of the logger module to reorganize
things
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
0b760aadf7
fix logger thread shutdown system
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
d0280f0579
move code to function spawn_logger_thread
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
28daa9e8c4
make logger channel static
2024-04-01 10:58:35 -03:00
João Marcos P. Bezerra
bed8ea0276
create Logger::info_accessible
2024-04-01 10:58:35 -03:00
Antonios Barotsis
1e56bb8f1f
Improve logging interface
2024-04-01 10:58:35 -03:00
Antonios Barotsis
380893b6df
Add levels and fix output
2024-04-01 10:58:35 -03:00
Antonios Barotsis
e2ac5c4c9b
Make all info logs use the new system
2024-04-01 10:58:35 -03:00
Antonios Barotsis
e989db7a3a
Added buffering
2024-04-01 10:58:35 -03:00
Antonios Barotsis
c2873f77d3
wip
2024-04-01 10:58:35 -03:00
misilelab
db0bc8a7d9
impl except test
2023-11-25 21:33:22 -03:00
Łukasz Krawiec
dade163243
added support for listing and decompressing .rar archives
2023-11-15 08:59:00 -03:00
João Marcos
9507c4d93a
Merge pull request #502 from ouch-org/fix-size-unit-inconsistency
...
Fix size unit inconsistency
2023-09-07 16:12:20 -03:00
João M. Bezerra
c32cbd8c7b
fix clippy warning
2023-09-04 21:49:42 -03:00
João M. Bezerra
cbd327aad7
replace usage of ubyte
by our own Bytes
formatter
2023-09-04 21:15:57 -03:00
João M. Bezerra
693167e933
formatting: fix gibibytes vs gigabytes issue
2023-09-04 20:54:49 -03:00
João M. Bezerra
76116ed5ec
re-add our size unit code from 368a776
2023-09-04 20:40:00 -03:00
João M. Bezerra
54ee52610a
fix rustdoc warnings
2023-02-03 02:24:07 -03:00
figsoda
e06b2c8635
apply clippy suggestions
2023-01-05 14:23:37 -05:00
Vinícius R. Miguel
2caeb1004c
refac: add support for Windows in EscapedPathDisplay
2023-01-05 13:39:06 -03:00
Vinícius R. Miguel
0deb18289a
refac: use BStr to display possibly non-UTF8 byte sequences
2023-01-05 12:46:29 -03:00
João M. Bezerra
c737956a4e
check for EOF when asking questions
...
when invoking Ouch from shell scripts, it is likely that questions will
be left unanswered with EOF, this commit fixes Ouch interpreting EOF as
Yes in Y/N questions
2022-11-23 00:43:53 -03:00
João M. Bezerra
e8d0914a01
improve error message when compressing folder with single-file formats
2022-10-17 00:03:44 -03:00
figsoda
13fab6d241
remove progress feature
2022-10-15 23:03:20 -04:00
João M. Bezerra
9f7cba79e1
use remove_file_or_dir to remove dir check
2022-10-15 22:31:47 -03:00
João M. Bezerra
2da497c1ca
fix fatal error if read fails when compressing
2022-10-15 22:01:30 -03:00
João M. Bezerra
4d2ccf4873
create remove_file_or_dir util
2022-10-15 21:51:52 -03:00
João M. Bezerra
cdd1b530be
fix not overwriting a folder when compressing
2022-10-15 21:36:24 -03:00
figsoda
d4766c4bf3
Merge branch 'main' into rewrite-progress
2022-10-13 11:37:09 -04:00
figsoda
51855948f1
add OutputLine trait for performance improvements
2022-10-13 11:31:43 -04:00
figsoda
2f4404e658
use humansize instead of Bytes
2022-10-12 22:33:41 -04:00
João M. Bezerra
a2c91c4248
minor tweaks
2022-10-11 22:09:39 -03:00
figsoda
5dc8d3efed
fix: apply clippy lints
2022-10-03 20:56:48 -04:00
figsoda
996e597c1f
fix: apply clippy lint
2022-08-14 12:32:54 +08:00
João M. Bezerra
86234084ab
refac: use Lazy cell to optimize env::current_dir call
2022-08-12 13:03:48 -03:00
João M. Bezerra
2e165e57cb
fix rustdoc lint warnings
2022-06-05 12:52:20 -03:00
João M. Bezerra
801189ec02
create is_running_in_accessible_mode helper
...
also renamed some variables
2022-06-04 21:38:16 -03:00
João M. Bezerra
278bc980c1
small changes and rewrite zip warning message
2022-06-04 14:36:57 -03:00
João M. Bezerra
97c4387fcf
minor simplifications and renamings
2022-06-04 14:04:31 -03:00
João M. Bezerra
14025c6816
remove use_small_heuristics = "Max"
from rustfmt
...
and update edition to 2021
2022-06-04 13:06:52 -03:00
João M. Bezerra
eac0a0687a
fix clippy warnings
2022-06-04 10:59:51 -03:00
Vinícius Miguel
8b1cd18fb5
feat: don't allocate when possible in to_utf
, nice_directory_display
( #249 )
2022-02-05 12:31:20 -03:00
Vinícius Miguel
336fc97831
feat: allow ignoring hidden files and files matched by .gitignore files ( #245 )
2022-01-16 23:30:26 -03:00