From cc3fbaf96871ba540094ece717380ebf2ae40ba1 Mon Sep 17 00:00:00 2001 From: Joscha Date: Wed, 13 Jul 2022 14:48:37 +0200 Subject: [PATCH] Print info while exporting logs --- src/export.rs | 11 +++++++++++ src/store.rs | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/src/export.rs b/src/export.rs index 7ddd1b1..7a97b90 100644 --- a/src/export.rs +++ b/src/export.rs @@ -14,15 +14,26 @@ const TIME_FORMAT: &str = "%F %T"; const TIME_EMPTY: &str = " "; 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 vault = vault.euph(room); + let mut exported_trees = 0; + let mut exported_msgs = 0; let mut tree_id = vault.first_tree().await; while let Some(some_tree_id) = tree_id { let tree = vault.tree(&some_tree_id).await; write_tree(&mut file, &tree, some_tree_id, 0)?; 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(()) } diff --git a/src/store.rs b/src/store.rs index 9973322..89f757f 100644 --- a/src/store.rs +++ b/src/store.rs @@ -75,6 +75,10 @@ impl Tree { } } + pub fn len(&self) -> usize { + self.msgs.len() + } + pub fn root(&self) -> &M::Id { &self.root }