From: Ian Jackson Date: Thu, 11 Mar 2021 15:10:04 +0000 (+0000) Subject: shapelib hidden: break out load_svg X-Git-Tag: otter-0.4.0~175 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=610e77411432b0b45542d309dbd9abbc2c6520e8;p=otter.git shapelib hidden: break out load_svg No significant change. Signed-off-by: Ian Jackson --- diff --git a/src/shapelib.rs b/src/shapelib.rs index 7b3b6264..cf2e8653 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -212,25 +212,32 @@ impl ItemSpec { impl Contents { #[throws(SpecError)] - fn load1(&self, idata: &ItemData, name: &str) -> PieceSpecLoaded { - let svg_path = format!("{}/{}.usvg", self.dirname, &name); + fn load_svg(&self, item_name: &str, for_name: &str) -> Html { + let svg_path = format!("{}/{}.usvg", self.dirname, item_name); let svg_data = fs::read_to_string(&svg_path) .map_err(|e| if e.kind() == ErrorKind::NotFound { - warn!("library item lib={} itme={} data file {:?} not found", - &self.libname, &name, &svg_path); - SpE::LibraryItemNotFound(name.to_owned()) + warn!("library item lib={} itme={} for={} data file {:?} not found", + &self.libname, item_name, for_name, &svg_path); + SpE::LibraryItemNotFound(for_name.to_owned()) } else { let m = "error accessing/reading library item data file"; - error!("{}: {}: {}", &m, &svg_path, &e); + error!("{}: {} {}: {}", &m, &svg_path, for_name, &e); SpE::InternalError(m.to_string()) })?; + Html(svg_data) + } + + #[throws(SpecError)] + fn load1(&self, idata: &ItemData, name: &str) -> PieceSpecLoaded { + let svg_data = self.load_svg(name, name)?; + idata.group.d.outline.check(&idata.group) .map_err(|e| SpE::InternalError(format!("rechecking outline: {}",&e)))?; let outline = idata.group.d.outline.load(&idata.group)?; let mut svgs = IndexVec::with_capacity(1); - let svg = svgs.push(Html(svg_data)); + let svg = svgs.push(svg_data); let mut descs = index_vec![ ]; let desc = descs.push(idata.d.desc.clone());