shared_mime/runtime/
xdg_parse.rs

1//! Parse the XDG shared mime info set.
2use std::fs;
3use std::io;
4use std::path::Path;
5
6use quick_xml::de::from_reader;
7
8use super::xdg_package::MimeInfoPackage;
9use super::XDGError;
10
11/// Parse a single package XML file from the shared mime database.
12pub fn parse_mime_package(path: &Path) -> Result<MimeInfoPackage, XDGError> {
13    let file = fs::File::open(path)?;
14    let read = io::BufReader::new(file);
15    let info: MimeInfoPackage = from_reader(read)?;
16    Ok(info)
17}