Implement read tool
This commit is contained in:
parent
059675bc16
commit
003a082074
@ -299,12 +299,14 @@ impl AbstractTree for Tool {
|
|||||||
} else {
|
} else {
|
||||||
"unknown".to_string()
|
"unknown".to_string()
|
||||||
};
|
};
|
||||||
|
let size = metadata.len() as i64;
|
||||||
let created = metadata.created()?.elapsed()?.as_secs() as i64;
|
let created = metadata.created()?.elapsed()?.as_secs() as i64;
|
||||||
let modified = metadata.modified()?.elapsed()?.as_secs() as i64;
|
let modified = metadata.modified()?.elapsed()?.as_secs() as i64;
|
||||||
let accessed = metadata.accessed()?.elapsed()?.as_secs() as i64;
|
let accessed = metadata.accessed()?.elapsed()?.as_secs() as i64;
|
||||||
let mut metadata_output = VariableMap::new();
|
let mut metadata_output = VariableMap::new();
|
||||||
|
|
||||||
metadata_output.set_value("type".to_string(), Value::String(file_type))?;
|
metadata_output.set_value("type".to_string(), Value::String(file_type))?;
|
||||||
|
metadata_output.set_value("size".to_string(), Value::Integer(size))?;
|
||||||
metadata_output.set_value("created".to_string(), Value::Integer(created))?;
|
metadata_output.set_value("created".to_string(), Value::Integer(created))?;
|
||||||
metadata_output.set_value("modified".to_string(), Value::Integer(modified))?;
|
metadata_output.set_value("modified".to_string(), Value::Integer(modified))?;
|
||||||
metadata_output.set_value("accessed".to_string(), Value::Integer(accessed))?;
|
metadata_output.set_value("accessed".to_string(), Value::Integer(accessed))?;
|
||||||
@ -327,16 +329,16 @@ impl AbstractTree for Tool {
|
|||||||
let path = PathBuf::from(path_value.as_string()?);
|
let path = PathBuf::from(path_value.as_string()?);
|
||||||
let content = if path.is_dir() {
|
let content = if path.is_dir() {
|
||||||
let dir = read_dir(&path)?;
|
let dir = read_dir(&path)?;
|
||||||
let mut contents = Table::new(vec!["path".to_string()]);
|
let mut contents = Vec::new();
|
||||||
|
|
||||||
for file in dir {
|
for file in dir {
|
||||||
let file = file?;
|
let file = file?;
|
||||||
let file_path = file.path().to_string_lossy().to_string();
|
let file_path = file.path().to_string_lossy().to_string();
|
||||||
|
|
||||||
contents.insert(vec![Value::String(file_path)])?;
|
contents.push(Value::String(file_path));
|
||||||
}
|
}
|
||||||
|
|
||||||
Value::Table(contents)
|
Value::List(contents)
|
||||||
} else {
|
} else {
|
||||||
Value::String(read_to_string(path)?)
|
Value::String(read_to_string(path)?)
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user