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}