stamtools/
annotate.rs

1use stam::{AnnotationDataSet, AnnotationStore, Configurable, StoreFor, TextResource};
2
3pub fn annotate(
4    store: &mut AnnotationStore,
5    resourcefiles: &[&str],
6    setfiles: &[&str],
7    annotationfiles: &[&str],
8) -> Result<(), String> {
9    for filename in setfiles {
10        let annotationset = AnnotationDataSet::from_file(filename, store.config().clone())
11            .map_err(|err| format!("Error loading AnnotationDataSet {}: {}", filename, err))?;
12        store
13            .insert(annotationset)
14            .map_err(|err| format!("Error adding AnnotationDataSet {}: {}", filename, err))?;
15    }
16    for filename in resourcefiles {
17        let resource = TextResource::from_file(filename, store.config().clone())
18            .map_err(|err| format!("Error loading TextResource {}: {}", filename, err))?;
19        store
20            .insert(resource)
21            .map_err(|err| format!("Error adding TextResource {}: {}", filename, err))?;
22    }
23    for filename in annotationfiles {
24        store
25            .annotate_from_file(filename)
26            .map_err(|err| format!("Error parsing annotations from {}: {}", filename, err))?;
27    }
28    Ok(())
29}