mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-12-25 20:54:34 +00:00
Run install packages when the file started directly
This commit is contained in:
parent
555a2d0599
commit
37c6db12a3
|
@ -3,7 +3,7 @@ import yaml
|
|||
|
||||
from src.util.package import Package, PackageAlreadyInstalled, InvalidPackage
|
||||
from src.util.install import Install
|
||||
from src.util import log
|
||||
from src.util.user import Print
|
||||
|
||||
|
||||
def obtain_packages() -> t.List[Package]:
|
||||
|
@ -30,9 +30,13 @@ def install_packages() -> None:
|
|||
Install.upgrade_pacman()
|
||||
for package in packages:
|
||||
try:
|
||||
log.action(f"Installing {package}")
|
||||
Print.action(f"Installing {package}")
|
||||
package.install()
|
||||
except PackageAlreadyInstalled:
|
||||
log.cancel(f"Package {package} is already installed.")
|
||||
Print.cancel(f"Package {package} is already installed.")
|
||||
except InvalidPackage as e:
|
||||
log.warning(e)
|
||||
Print.warning(e)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
install_packages()
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
import typing as t
|
||||
|
||||
from src.util.color import Color
|
||||
|
||||
|
||||
def question(question: str, options: t.Optional[list] = None) -> None:
|
||||
"""Print syntax for question with optional `options` to it"""
|
||||
text = [f"{Color.GREEN} // {question}{Color.RESET}"]
|
||||
if options:
|
||||
for option in options:
|
||||
text.append(f"{Color.GREEN} # {options}{Color.RESET}")
|
||||
print("\n".join(text))
|
||||
|
||||
|
||||
def action(action: str) -> None:
|
||||
"""Print syntax for action"""
|
||||
print(f"{Color.GOLD} >> {action}{Color.RESET}")
|
||||
|
||||
|
||||
def err(text: str) -> None:
|
||||
"""Print syntax for error"""
|
||||
print(f"{Color.RED} !! {text}{Color.RESET}")
|
||||
|
||||
|
||||
def cancel(text: str) -> None:
|
||||
"""Print syntax for cancellation"""
|
||||
print(f"{Color.GREY} >> {text}{Color.RESET}")
|
||||
|
||||
|
||||
def comment(text: str) -> None:
|
||||
"""Print syntax for comments"""
|
||||
print(f"{Color.GREY} // {text}{Color.RESET}")
|
||||
|
||||
|
||||
def warning(text: str) -> None:
|
||||
"""Print syntax for warnings"""
|
||||
print(f"{Color.YELLOW} ** {text}{Color.RESET}")
|
33
src/util/user.py
Normal file
33
src/util/user.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
import typing as t
|
||||
|
||||
from src.util.color import Color
|
||||
|
||||
|
||||
class Print:
|
||||
def question(question: str, options: t.Optional[list] = None) -> None:
|
||||
"""Print syntax for question with optional `options` to it"""
|
||||
text = [f"{Color.GREEN} // {question}{Color.RESET}"]
|
||||
if options:
|
||||
for option in options:
|
||||
text.append(f"{Color.GREEN} # {options}{Color.RESET}")
|
||||
print("\n".join(text))
|
||||
|
||||
def action(action: str) -> None:
|
||||
"""Print syntax for action"""
|
||||
print(f"{Color.GOLD} >> {action}{Color.RESET}")
|
||||
|
||||
def err(text: str) -> None:
|
||||
"""Print syntax for error"""
|
||||
print(f"{Color.RED} !! {text}{Color.RESET}")
|
||||
|
||||
def cancel(text: str) -> None:
|
||||
"""Print syntax for cancellation"""
|
||||
print(f"{Color.GREY} >> {text}{Color.RESET}")
|
||||
|
||||
def comment(text: str) -> None:
|
||||
"""Print syntax for comments"""
|
||||
print(f"{Color.GREY} // {text}{Color.RESET}")
|
||||
|
||||
def warning(text: str) -> None:
|
||||
"""Print syntax for warnings"""
|
||||
print(f"{Color.YELLOW} ** {text}{Color.RESET}")
|
Loading…
Reference in a new issue