migrate_examples/
migrate_examples.rs1use notebook_types::VersionedDocument;
2use std::fs;
3use std::path::Path;
4
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let input_dir = Path::new("examples/v0");
7 let output_dir = Path::new("examples/v1");
8
9 fs::create_dir_all(output_dir)?;
10
11 for entry in fs::read_dir(input_dir)? {
12 let path = entry?.path();
13
14 let content = fs::read_to_string(&path)?;
15 let doc: VersionedDocument = serde_json::from_str(&content)?;
16
17 let current_doc = doc.to_current();
18 let migrated_json = serde_json::to_string(¤t_doc)?;
19
20 let output_path = output_dir.join(path.file_name().unwrap());
21 fs::write(&output_path, migrated_json)?;
22
23 println!("Migrated: {:?}", path.file_name().unwrap());
24 }
25
26 Ok(())
27}