ZipIndex

Struct ZipIndex 

Source
pub struct ZipIndex<R: Read + Seek> { /* private fields */ }
Expand description

Read Python resources from a zip file.

Instances are bound to a handle on a zip archive. At open time, the zip archive index is read and an index of files within is constructed. File content is resolved when individual members are accessed.

Implementations§

Source§

impl<R: Read + Seek> ZipIndex<R>

Source

pub fn new(reader: R, prefix: Option<&Path>) -> Result<Self>

Construct a new instance from a reader of zip data and an optional path prefix.

The path prefix denotes the path within the zip file to look for content. All paths outside this prefix are ignored.

Source

pub fn find_python_module(&mut self, full_name: &str) -> Option<ZipPythonModule>

Attempt to locate a Python module within the zip archive.

full_name is the fully qualified / dotted Python module name.

Source

pub fn resolve_path_content(&mut self, path: &Path) -> Result<Vec<u8>>

Resolve the byte content for a given path.

Errors if the path does not exist.

Auto Trait Implementations§

§

impl<R> Freeze for ZipIndex<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for ZipIndex<R>
where R: RefUnwindSafe,

§

impl<R> Send for ZipIndex<R>
where R: Send,

§

impl<R> Sync for ZipIndex<R>
where R: Sync,

§

impl<R> Unpin for ZipIndex<R>
where R: Unpin,

§

impl<R> UnwindSafe for ZipIndex<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Ungil for T
where T: Send,