pub struct PrePackagedResource {Show 29 fields
pub name: String,
pub is_package: bool,
pub is_namespace_package: bool,
pub in_memory_source: Option<FileData>,
pub in_memory_bytecode: Option<PythonModuleBytecodeProvider>,
pub in_memory_bytecode_opt1: Option<PythonModuleBytecodeProvider>,
pub in_memory_bytecode_opt2: Option<PythonModuleBytecodeProvider>,
pub in_memory_extension_module_shared_library: Option<FileData>,
pub in_memory_resources: Option<BTreeMap<String, FileData>>,
pub in_memory_distribution_resources: Option<BTreeMap<String, FileData>>,
pub in_memory_shared_library: Option<FileData>,
pub shared_library_dependency_names: Option<Vec<String>>,
pub relative_path_module_source: Option<(String, FileData)>,
pub relative_path_bytecode: Option<(String, String, PythonModuleBytecodeProvider)>,
pub relative_path_bytecode_opt1: Option<(String, String, PythonModuleBytecodeProvider)>,
pub relative_path_bytecode_opt2: Option<(String, String, PythonModuleBytecodeProvider)>,
pub relative_path_extension_module_shared_library: Option<(PathBuf, FileData)>,
pub relative_path_package_resources: Option<BTreeMap<String, (PathBuf, FileData)>>,
pub relative_path_distribution_resources: Option<BTreeMap<String, (PathBuf, FileData)>>,
pub relative_path_shared_library: Option<(String, PathBuf, FileData)>,
pub is_module: bool,
pub is_builtin_extension_module: bool,
pub is_frozen_module: bool,
pub is_extension_module: bool,
pub is_shared_library: bool,
pub is_utf8_filename_data: bool,
pub file_executable: bool,
pub file_data_embedded: Option<FileData>,
pub file_data_utf8_relative_path: Option<(PathBuf, FileData)>,
}
Expand description
Represents a Python resource entry before it is packaged.
Instances hold the same fields as Resource
except fields holding
content are backed by a FileData
instead of Vec<u8>
, since
we want data resolution to be lazy. In addition, bytecode can either be
provided verbatim or via source.
Fields§
§name: String
§is_package: bool
§is_namespace_package: bool
§in_memory_source: Option<FileData>
§in_memory_bytecode: Option<PythonModuleBytecodeProvider>
§in_memory_bytecode_opt1: Option<PythonModuleBytecodeProvider>
§in_memory_bytecode_opt2: Option<PythonModuleBytecodeProvider>
§in_memory_resources: Option<BTreeMap<String, FileData>>
§in_memory_distribution_resources: Option<BTreeMap<String, FileData>>
§relative_path_module_source: Option<(String, FileData)>
§relative_path_bytecode: Option<(String, String, PythonModuleBytecodeProvider)>
§relative_path_bytecode_opt1: Option<(String, String, PythonModuleBytecodeProvider)>
§relative_path_bytecode_opt2: Option<(String, String, PythonModuleBytecodeProvider)>
§relative_path_package_resources: Option<BTreeMap<String, (PathBuf, FileData)>>
§relative_path_distribution_resources: Option<BTreeMap<String, (PathBuf, FileData)>>
§is_module: bool
§is_builtin_extension_module: bool
§is_frozen_module: bool
§is_extension_module: bool
§is_utf8_filename_data: bool
§file_executable: bool
§file_data_embedded: Option<FileData>
§file_data_utf8_relative_path: Option<(PathBuf, FileData)>
Implementations§
Source§impl PrePackagedResource
impl PrePackagedResource
Sourcepub fn is_python_resource(&self) -> bool
pub fn is_python_resource(&self) -> bool
Whether this resource represents a Python resource.
Sourcepub fn to_resource<'a>(
&self,
compiler: &mut dyn PythonBytecodeCompiler,
) -> Result<(Resource<'a, u8>, Vec<FileInstall>)>
pub fn to_resource<'a>( &self, compiler: &mut dyn PythonBytecodeCompiler, ) -> Result<(Resource<'a, u8>, Vec<FileInstall>)>
Convert the instance to a Resource
.
This will compile bytecode from source code using the specified compiler. It will also emit a list of file installs that must be performed for all referenced resources to function as intended.
Trait Implementations§
Source§impl Clone for PrePackagedResource
impl Clone for PrePackagedResource
Source§fn clone(&self) -> PrePackagedResource
fn clone(&self) -> PrePackagedResource
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PrePackagedResource
impl Debug for PrePackagedResource
Source§impl Default for PrePackagedResource
impl Default for PrePackagedResource
Source§fn default() -> PrePackagedResource
fn default() -> PrePackagedResource
Returns the “default value” for a type. Read more
Source§impl PartialEq for PrePackagedResource
impl PartialEq for PrePackagedResource
impl StructuralPartialEq for PrePackagedResource
Auto Trait Implementations§
impl Freeze for PrePackagedResource
impl RefUnwindSafe for PrePackagedResource
impl Send for PrePackagedResource
impl Sync for PrePackagedResource
impl Unpin for PrePackagedResource
impl UnwindSafe for PrePackagedResource
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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