def _content_callback( ctx: click.Context, param: click.Parameter, value: Optional[str] ) -> Optional[str]: if value: pulp_ctx = ctx.find_object(PulpContext) assert pulp_ctx is not None ctx.obj = PulpPythonContentContext(pulp_ctx, entity={"filename": value}) return value
def upload( pulp_ctx: PulpContext, entity_ctx: PulpPythonContentContext, relative_path: str, file: IO[bytes], chunk_size: int, ) -> None: """Create a Python package content unit through uploading a file""" artifact_href = PulpArtifactContext(pulp_ctx).upload(file, chunk_size) content = {"relative_path": relative_path, "artifact": artifact_href} result = entity_ctx.create(body=content) pulp_ctx.output_result(result)
def remove( pulp_ctx: PulpContext, repository_ctx: PulpRepositoryContext, filename: str, base_version: Optional[int], ) -> None: """Please use 'content remove' instead.""" repository_href = repository_ctx.pulp_href base_version_href: Optional[str] if base_version is not None: base_version_href = f"{repository_href}versions/{base_version}/" else: base_version_href = None content_href = PulpPythonContentContext(pulp_ctx, entity={"filename": filename}).pulp_href repository_ctx.modify( href=repository_href, remove_content=[content_href], base_version=base_version_href, )
def content(ctx: click.Context, pulp_ctx: PulpContext, content_type: str) -> None: if content_type == "package": ctx.obj = PulpPythonContentContext(pulp_ctx) else: raise NotImplementedError()