diff --git a/rwx/__init__.py b/rwx/__init__.py index ee9f51e..50c7cbe 100644 --- a/rwx/__init__.py +++ b/rwx/__init__.py @@ -2,14 +2,16 @@ __version__ = "0.0.1" +from os import linesep + class Class: """Root class.""" def __repr__(self) -> str: - """Represent object variables. + """Return machine-readable state. - :return: representation + :return: state :rtype: str """ name = self.__class__.__name__ @@ -18,3 +20,14 @@ class Class: ] arguments = ", ".join(attributes) return f"{name}({arguments})" + + def __str__(self) -> str: + """Return human-readable state. + + :return: state + :rtype: str + """ + attributes = [ + f"{k} = {v}" for k, v in vars(self).items() if not k.startswith("_") + ] + return linesep.join(attributes) diff --git a/rwx/os/abstract.py b/rwx/os/abstract.py index 8b99c28..f4837fc 100644 --- a/rwx/os/abstract.py +++ b/rwx/os/abstract.py @@ -17,10 +17,3 @@ class OS(Class, ABC): @abstractmethod def get_name(self) -> str: """Return mandatory name.""" - - def __str__(self) -> str: - """Return root & name.""" - return f"""\ -root = {self.root} -name = {self.name} -""" diff --git a/rwx/os/pm/__init__.py b/rwx/os/pm/__init__.py index b3cacc4..6236ee6 100644 --- a/rwx/os/pm/__init__.py +++ b/rwx/os/pm/__init__.py @@ -21,10 +21,3 @@ class PM(Class, ABC): @abstractmethod def get_install_command(self) -> Command: """Command to install package(s).""" - - def __str__(self) -> str: - """Return commands.""" - return f"""\ - clean = {self.clean} -install = {self.install} -""" diff --git a/rwx/prj/__init__.py b/rwx/prj/__init__.py index 3cba90b..c0251e2 100644 --- a/rwx/prj/__init__.py +++ b/rwx/prj/__init__.py @@ -14,12 +14,3 @@ class Project(Class): self.file = self.raw.resolve() self.root: Path = self.file.parent self.name: str = self.root.name - - def __str__(self) -> str: - """Return file, root & name.""" - return f"""\ - raw = {self.raw} -file = {self.file} -root = {self.root} -name = {self.name} -""" diff --git a/rwx/ps/__init__.py b/rwx/ps/__init__.py index 601aca3..584c50d 100644 --- a/rwx/ps/__init__.py +++ b/rwx/ps/__init__.py @@ -13,13 +13,6 @@ class Command(Class): self.raw = arguments self.flat: list[str] = [] - def __str__(self) -> str: - """Return raw & flat.""" - return f"""\ - raw = {self.raw} -flat = {self.flat} -""" - def get_tuples_args(*items: str | tuple[str, ...]) -> list[str]: """Turn arguments tuples into an arguments list."""