aboutsummaryrefslogtreecommitdiff
path: root/cli/onionshare_cli
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-05-02 15:13:50 -0700
committerMicah Lee <micah@micahflee.com>2021-05-02 15:13:50 -0700
commit94d5544bdaddb2b8d7fcd6491ee2f0c01d25fd04 (patch)
treef9422e5783c06c5f3f741af50894f188255bb67a /cli/onionshare_cli
parent7554d0e3fdccfd766ab5fea70a0160b4aa0e1a5a (diff)
downloadonionshare-94d5544bdaddb2b8d7fcd6491ee2f0c01d25fd04.tar.gz
onionshare-94d5544bdaddb2b8d7fcd6491ee2f0c01d25fd04.zip
Use colorama for terminal colors, to get Windows support
Diffstat (limited to 'cli/onionshare_cli')
-rw-r--r--cli/onionshare_cli/common.py214
1 files changed, 94 insertions, 120 deletions
diff --git a/cli/onionshare_cli/common.py b/cli/onionshare_cli/common.py
index 4cb2c72a..e7293675 100644
--- a/cli/onionshare_cli/common.py
+++ b/cli/onionshare_cli/common.py
@@ -29,6 +29,9 @@ import time
import shutil
from pkg_resources import resource_filename
+import colorama
+from colorama import Fore, Back, Style
+
from .settings import Settings
@@ -43,18 +46,11 @@ class Common:
The Common object is shared amongst all parts of OnionShare.
"""
- C_RESET = "\033[0m"
- C_BG_PURPLE = "\033[45m"
- C_BOLD = "\033[01m"
- C_WHITE = "\033[97m"
- C_LIGHTGRAY = "\033[37m"
- C_DARKGRAY = "\033[90m"
- C_LIGHTPURPLE = "\033[95m"
- C_DARKPURPLE = "\033[35m"
-
def __init__(self, verbose=False):
self.verbose = verbose
+ colorama.init(autoreset=True)
+
# The platform OnionShare is running on
self.platform = platform.system()
if self.platform.endswith("BSD") or self.platform == "DragonFly":
@@ -90,219 +86,195 @@ class Common:
╰───────────────────────────────────────────╯
"""
+ if self.platform == "Windows":
+ pass
+ else:
+ pass
+
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
- + "╭───────────────────────────────────────────╮"
- + self.C_RESET
+ Back.MAGENTA + Fore.WHITE + "╭───────────────────────────────────────────╮"
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_WHITE
+ + Fore.WHITE
+ "▄▄█████▄▄"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▄████▀▀▀████▄"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▀▀█▀ ▀██▄ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_WHITE
+ + Fore.WHITE
+ "▄█▄ ▀██▄ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▄█████▄ ███"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " -+- "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ███ ▀█████▀ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▀██▄ ▀█▀ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_WHITE
+ + Fore.WHITE
+ "▀██▄ ▄█▄▄"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " * "
- + self.C_WHITE
+ + Fore.WHITE
+ "▀████▄▄▄████▀ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▀▀█████▀▀ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTPURPLE
+ + Fore.LIGHTMAGENTA_EX
+ " -+- * "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▄▀▄ ▄▀▀ █ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " █ █ ▀ ▀▄ █ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_WHITE
+ + Fore.WHITE
+ " ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
- + "│ │"
- + self.C_RESET
+ Back.MAGENTA + Fore.WHITE + "│ │"
)
left_spaces = (43 - len(self.version) - 1) // 2
right_spaces = left_spaces
if left_spaces + len(self.version) + right_spaces < 43:
right_spaces += 1
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ f"{' '*left_spaces}v{self.version}{' '*right_spaces}"
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
- + "│ │"
- + self.C_RESET
+ Back.MAGENTA + Fore.WHITE + "│ │"
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
+ Back.MAGENTA
+ + Fore.WHITE
+ "│"
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ " https://onionshare.org/ "
- + self.C_LIGHTGRAY
+ + Fore.WHITE
+ "│"
- + self.C_RESET
)
print(
- self.C_BG_PURPLE
- + self.C_LIGHTGRAY
- + "╰───────────────────────────────────────────╯"
- + self.C_RESET
+ Back.MAGENTA + Fore.WHITE + "╰───────────────────────────────────────────╯"
)
print()
@@ -319,9 +291,11 @@ class Common:
"""
if self.verbose:
timestamp = time.strftime("%b %d %Y %X")
- final_msg = f"{self.C_DARKGRAY}[{timestamp}]{self.C_RESET} {self.C_LIGHTGRAY}{module}.{func}{self.C_RESET}"
+ final_msg = f"{Fore.BLACK + Style.BRIGHT}[{timestamp}]{Style.RESET_ALL} {Fore.WHITE + Style.DIM}{module}.{func}{Style.RESET_ALL}"
if msg:
- final_msg = f"{final_msg}{self.C_LIGHTGRAY}: {msg}{self.C_RESET}"
+ final_msg = (
+ f"{final_msg}{Fore.WHITE + Style.DIM}: {msg}{Style.RESET_ALL}"
+ )
print(final_msg)
def get_resource_path(self, filename):