65 lines
1.7 KiB
Python
65 lines
1.7 KiB
Python
from typing import List
|
|
import colorama as cl
|
|
|
|
from commands.util.printing.list import print_list
|
|
|
|
|
|
def print_diff(add: List[str], remove: List[str]):
|
|
if len(add) == 0 and len(remove) == 0:
|
|
print(
|
|
cl.Fore.BLUE
|
|
+ "-->"
|
|
+ cl.Style.DIM
|
|
+ cl.Fore.GREEN
|
|
+ " No packages changes"
|
|
+ cl.Style.RESET_ALL,
|
|
)
|
|
# Packages to be installed
|
|
if len(add) == 0:
|
|
print(
|
|
cl.Fore.BLUE
|
|
+ "-->"
|
|
+ cl.Style.DIM
|
|
+ cl.Fore.GREEN
|
|
+ " No packages to be installed"
|
|
+ cl.Style.RESET_ALL,
|
|
)
|
|
else:
|
|
print(
|
|
cl.Fore.GREEN + "==>",
|
|
cl.Style.RESET_ALL + "Packages that will be",
|
|
cl.Fore.GREEN + "installed" + cl.Style.RESET_ALL,
|
|
)
|
|
print_list(add)
|
|
print()
|
|
|
|
# Packages to be removed
|
|
if len(remove) == 0:
|
|
print(
|
|
cl.Fore.BLUE
|
|
+ "-->"
|
|
+ cl.Style.DIM
|
|
+ cl.Fore.GREEN
|
|
+ " No packages to be uninstalled"
|
|
+ cl.Style.RESET_ALL,
|
|
)
|
|
else:
|
|
print(
|
|
cl.Fore.GREEN + "==>",
|
|
cl.Style.RESET_ALL + "Packages that will be",
|
|
cl.Fore.RED + "uninstalled" + cl.Style.RESET_ALL,
|
|
)
|
|
print_list(remove)
|
|
print()
|
|
|
|
# Ask user to confirm
|
|
print(
|
|
cl.Fore.GREEN + "==>",
|
|
cl.Style.RESET_ALL
|
|
+ f"Transaction (packages): {cl.Fore.BLUE + str(len(add)) + cl.Style.RESET_ALL}",
|
|
cl.Fore.GREEN + "installed",
|
|
cl.Style.RESET_ALL
|
|
+ f"and {cl.Fore.BLUE + str(len(remove)) + cl.Style.RESET_ALL}",
|
|
cl.Fore.RED + "uninstalled" + cl.Style.RESET_ALL,
|
|
)
|