use serde::Deserialize;
use crate::{ReqError, make_agent};
const BASE_URL: &str = "https://www.ebi.ac.uk/pdbe-srv/pdbechem/chemicalCompound/show";
pub fn open_overview(id: &str) {
if let Err(e) = webbrowser::open(&format!("{BASE_URL}/{id}")) {
eprintln!("Failed to open the web browser: {:?}", e);
}
}
fn sdf_url(ident: &str) -> String {
format!(
"https://www.ebi.ac.uk/pdbe/static/files/pdbechem_v2/{}_ideal.sdf",
ident.to_uppercase()
)
}
pub fn load_sdf(ident: &str) -> Result<String, ReqError> {
let agent = make_agent();
Ok(agent
.get(sdf_url(ident))
.call()?
.body_mut()
.read_to_string()?)
}