Print info while exporting logs
This commit is contained in:
parent
f527c46dde
commit
cc3fbaf968
2 changed files with 15 additions and 0 deletions
|
|
@ -14,15 +14,26 @@ const TIME_FORMAT: &str = "%F %T";
|
||||||
const TIME_EMPTY: &str = " ";
|
const TIME_EMPTY: &str = " ";
|
||||||
|
|
||||||
pub async fn export(vault: &Vault, room: String, file: &Path) -> anyhow::Result<()> {
|
pub async fn export(vault: &Vault, room: String, file: &Path) -> anyhow::Result<()> {
|
||||||
|
println!("Exporting &{room} to {}", file.to_string_lossy());
|
||||||
let mut file = BufWriter::new(File::create(file)?);
|
let mut file = BufWriter::new(File::create(file)?);
|
||||||
let vault = vault.euph(room);
|
let vault = vault.euph(room);
|
||||||
|
|
||||||
|
let mut exported_trees = 0;
|
||||||
|
let mut exported_msgs = 0;
|
||||||
let mut tree_id = vault.first_tree().await;
|
let mut tree_id = vault.first_tree().await;
|
||||||
while let Some(some_tree_id) = tree_id {
|
while let Some(some_tree_id) = tree_id {
|
||||||
let tree = vault.tree(&some_tree_id).await;
|
let tree = vault.tree(&some_tree_id).await;
|
||||||
write_tree(&mut file, &tree, some_tree_id, 0)?;
|
write_tree(&mut file, &tree, some_tree_id, 0)?;
|
||||||
tree_id = vault.next_tree(&some_tree_id).await;
|
tree_id = vault.next_tree(&some_tree_id).await;
|
||||||
|
|
||||||
|
exported_trees += 1;
|
||||||
|
exported_msgs += tree.len();
|
||||||
|
|
||||||
|
if exported_trees % 10000 == 0 {
|
||||||
|
println!("Exported {exported_trees} trees, {exported_msgs} messages")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
println!("Exported {exported_trees} trees, {exported_msgs} messages in total");
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,10 @@ impl<M: Msg> Tree<M> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn len(&self) -> usize {
|
||||||
|
self.msgs.len()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn root(&self) -> &M::Id {
|
pub fn root(&self) -> &M::Id {
|
||||||
&self.root
|
&self.root
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue