Source code for llvm_snapshot_builder.copr_project_ref

"""
CoprProjectRef
"""

from typing import Union


[docs]class CoprProjectRef: """ CoprProjectRef is a reference to a Copr project by ownername and projectname. """ def __init__( self, owner_project: Union[str, "CoprProjectRef"], ** kwargs): """ Creates a new CoprProjectRef. """ if str(owner_project) == owner_project: self.__ownername, self.__projectname = owner_project.split("/") elif isinstance(owner_project, CoprProjectRef): self.__ownername = owner_project.owner self.__projectname = owner_project.name else: raise TypeError( "owner_project must be a string or CoprProjectRef but is "\ f"{type(owner_project)}': {owner_project}") if self.__ownername is None or self.__ownername == "": raise ValueError("ownername MUST NOT be empty") if self.__projectname is None or self.__projectname == "": raise ValueError("projectname MUST NOT be empty") super().__init__(**kwargs) @property def owner(self) -> str: """ Returns the ownername that references this project """ return self.__ownername @property def name(self) -> str: """ Returns the projectname that references this project """ return self.__projectname @property def ref(self) -> str: """ Returns the ownername/projectname string """ return f"{self.__ownername}/{self.__projectname}"
[docs] def __str__(self): """ Returns the ownername/projectname string """ return self.ref