#[derive(Debug,Clone)]
struct PieceInfo<I> {
- id: (),
+ id: String,
info: I,
}
.element("#pieces_marker")
.unwrap().next_siblings()
.map_loop(|puse: ego_tree::NodeRef<scraper::Node>| {
- dbg!(puse);
- let puse = puse.value().as_element().ok_or(Loop::Continue)?;
+ let puse = puse.value();
+ let puse = puse.as_element().ok_or(Loop::Continue)?;
let attr = puse.attr("data-info").ok_or(Loop::Break)?;
+ let id = puse.id.as_ref().unwrap();
+ let id = id.strip_prefix("use").unwrap().to_string();
let info = serde_json::from_str(attr).unwrap();
- Loop::ok(PieceInfo { id: (), info })
+ Loop::ok(PieceInfo { id, info })
})
.collect()
}
let llm = pieces.into_iter()
.filter(|pi| pi.info["desc"] == "a library load area marker")
.collect::<ArrayVec<_>>();
- dbg!(&llm);
let llm: [_;2] = llm.into_inner().unwrap();
dbg!(&llm);
// xxx find load markers ids