mirror of
https://github.com/bootandy/dust.git
synced 2026-06-08 11:29:05 +03:00
refactor: cleanup -j / --output-json flag
Stop -j writing to a file, print to stdout instead.
This commit is contained in:
+12
-31
@@ -39,11 +39,6 @@ use terminal_size::{terminal_size, Height, Width};
|
||||
use utils::get_filesystem_devices;
|
||||
use utils::simplify_dir_names;
|
||||
|
||||
use crate::node::Node;
|
||||
use chrono::Local;
|
||||
use std::fs::File;
|
||||
use std::io::Write;
|
||||
|
||||
static DEFAULT_NUMBER_OF_LINES: usize = 30;
|
||||
static DEFAULT_TERMINAL_WIDTH: usize = 80;
|
||||
|
||||
@@ -234,18 +229,6 @@ fn main() {
|
||||
|
||||
let top_level_nodes = walk_it(simplified_dirs, &walk_data);
|
||||
|
||||
if config.get_output_json(&options) {
|
||||
let datetime = Local::now().format("%Y%m%d%H%M%S").to_string();
|
||||
let output_filename = format!("node-{}.json", datetime);
|
||||
let result = output_json(&output_filename, &top_level_nodes);
|
||||
match result {
|
||||
Ok(..) => {}
|
||||
Err(err) => {
|
||||
eprintln!("Error: {}", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let tree = match summarize_file_types {
|
||||
true => get_all_file_types(&top_level_nodes, number_of_lines),
|
||||
false => {
|
||||
@@ -302,13 +285,18 @@ fn main() {
|
||||
output_format,
|
||||
bars_on_right: config.get_bars_on_right(&options),
|
||||
};
|
||||
draw_it(
|
||||
idd,
|
||||
config.get_no_bars(&options),
|
||||
terminal_width,
|
||||
&root_node,
|
||||
config.get_skip_total(&options),
|
||||
)
|
||||
|
||||
if config.get_output_json(&options) {
|
||||
println!("{}", serde_json::to_string(&root_node).unwrap());
|
||||
} else {
|
||||
draw_it(
|
||||
idd,
|
||||
config.get_no_bars(&options),
|
||||
terminal_width,
|
||||
&root_node,
|
||||
config.get_skip_total(&options),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,13 +311,6 @@ fn init_rayon(stack_size: &Option<usize>, threads: &Option<usize>) {
|
||||
}
|
||||
}
|
||||
|
||||
fn output_json(output_filename: &str, top_level_nodes: &Vec<Node>) -> std::io::Result<()> {
|
||||
let serialized: String = serde_json::to_string(&top_level_nodes).unwrap();
|
||||
let mut file = File::create(output_filename)?;
|
||||
file.write_all(serialized.as_bytes())?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn build_thread_pool(
|
||||
stack: Option<usize>,
|
||||
threads: Option<usize>,
|
||||
|
||||
Reference in New Issue
Block a user