pub struct Reader { /* private fields */ }Expand description
Structure that can read, parse and extract a wpress archive file.
Implementations§
Source§impl Reader
impl Reader
Sourcepub fn new<P: AsRef<Path>>(path: P) -> Result<Reader, FileParseError>
pub fn new<P: AsRef<Path>>(path: P) -> Result<Reader, FileParseError>
Creates a new Reader with the path supplied as the source file.
Sourcepub fn extract_to<P: AsRef<Path>>(
&mut self,
destination: P,
) -> Result<(), ExtractError>
pub fn extract_to<P: AsRef<Path>>( &mut self, destination: P, ) -> Result<(), ExtractError>
Extracts all the files inside the archive to the provided destination directory.
§Example
use wpress_oxide::Reader;
let mut r = Reader::new("tests/reader/archive.wpress")?;
r.extract_to("tests/reader_output_0")?;Sourcepub fn extract(&mut self) -> Result<(), ExtractError>
pub fn extract(&mut self) -> Result<(), ExtractError>
Extracts all the files inside the archive to the current directory.
§Example
use wpress_oxide::Reader;
let mut r = Reader::new("tests/reader/archive.wpress")?;
r.extract()?;Sourcepub fn files_count(&self) -> usize
pub fn files_count(&self) -> usize
Returns number of files in the current archive.
Sourcepub fn headers(&self) -> &[Header]
pub fn headers(&self) -> &[Header]
Returns a borrowed header slice with metadata about the files in the archive.
Sourcepub fn headers_owned(&self) -> Vec<Header>
pub fn headers_owned(&self) -> Vec<Header>
Returns a copied vector of headers or metadata about the files in the archive.
Sourcepub fn extract_file<P: AsRef<Path>>(
&mut self,
filename: P,
destination: P,
) -> Result<(), ExtractError>
pub fn extract_file<P: AsRef<Path>>( &mut self, filename: P, destination: P, ) -> Result<(), ExtractError>
Extract a single file, given either its name or complete path inside the archive, to a destination directory. Preserves the directory hierarchy of the archive during extraction.
§Examples
§Extract all files from the archive that match a filename
use wpress_oxide::Reader;
let mut r = Reader::new("tests/reader/archive.wpress")?;
r.extract_file("file.txt", "tests/reader_output_1")?;§Extract a file with a specific path in the archive
use wpress_oxide::Reader;
let mut r = Reader::new("tests/reader/archive.wpress")?;
r.extract_file(
"tests/writer/directory/subdirectory/file.txt",
"tests/reader_output_2",
)?;Auto Trait Implementations§
impl Freeze for Reader
impl RefUnwindSafe for Reader
impl Send for Reader
impl Sync for Reader
impl Unpin for Reader
impl UnwindSafe for Reader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more