diff --git a/commands/util/printing/diff.py b/commands/util/printing/diff.py new file mode 100644 index 0000000..3c79039 --- /dev/null +++ b/commands/util/printing/diff.py @@ -0,0 +1,64 @@ +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, + ) diff --git a/commands/util/printer.py b/commands/util/printing/list.py similarity index 100% rename from commands/util/printer.py rename to commands/util/printing/list.py