craft_parts.sources.sevenzip_source module¶
Implement the 7zip file source handler.
- class craft_parts.sources.sevenzip_source.SevenzipSource(source, part_src_dir, *, cache_dir, project_dirs, source_checksum=None, command=None, ignore_patterns=None, **kwargs)[source]¶
Bases:
FileSourceHandler
The zip file source handler.
- Parameters:
source (
str
)part_src_dir (
Path
)cache_dir (
Path
)project_dirs (
ProjectDirs
)source_checksum (
Optional
[str
])command (
Optional
[str
])ignore_patterns (
Optional
[list
[str
]])kwargs (
Any
)
- provision(dst, keep=False, src=None)[source]¶
Extract 7z file contents to the part source dir.
- Parameters:
dst (
Path
)keep (
bool
)src (
Optional
[Path
])
- Return type:
None
- source_model¶
alias of
SevenzipSourceModel
- class craft_parts.sources.sevenzip_source.SevenzipSourceModel(**data)[source]¶
Bases:
BaseFileSourceModel
Pydantic for a 7zip file source.
- Parameters:
data (
Any
)
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function get_model_config.<locals>.<lambda>>, 'extra': 'forbid', 'frozen': True, 'json_schema_extra': {'if': {'not': {'required': ['source-type']}}, 'then': {'properties': {'source': {'pattern': '\\.7z$'}}}}}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- pattern: ClassVar[str | None] = '\\.7z$'¶
A regular expression for inferring this source type.
If pattern is None (the default), the source type cannot be inferred and must always be explicitly written in the source-type field of a part.
- source: str¶
- source_checksum: str | None¶
-
source_type:
Literal
['7z'
]¶ The name of this source type.
Sources must define this with a type hint of a Literal type of its name and a value of its name.