27 lines
623 B
Python
27 lines
623 B
Python
"""Handle projects."""
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
class Project:
|
|
"""Parent class for any type of project."""
|
|
|
|
def __init__(self, file: Path) -> None:
|
|
"""Set file, root & name."""
|
|
self.raw = file
|
|
self.file = self.raw.resolve()
|
|
self.root: Path = self.file.parent
|
|
self.name: str = self.root.name
|
|
|
|
def __repr__(self) -> str:
|
|
"""Represent project."""
|
|
return f"Project(file={self.raw!r})"
|
|
|
|
def __str__(self) -> str:
|
|
"""Return file, root & name."""
|
|
return f"""\
|
|
raw = {self.raw}
|
|
file = {self.file}
|
|
root = {self.root}
|
|
name = {self.name}
|
|
"""
|