summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaptak Sengupta <saptak013@gmail.com>2021-04-29 19:19:52 +0530
committerGitHub <noreply@github.com>2021-04-29 19:19:52 +0530
commit34554414e9ff6d98988e4ab27a6d79300e8e1197 (patch)
treef69dafcf9521a295e41d3dac31cb27b13b7d8319
parent66918946aefd5599976013dbba4a76dcccbac6ac (diff)
parentb8d43ab8ceeda36f41c7b8a837696699078cd535 (diff)
downloadonionshare-34554414e9ff6d98988e4ab27a6d79300e8e1197.tar.gz
onionshare-34554414e9ff6d98988e4ab27a6d79300e8e1197.zip
Merge pull request #1334 from micahflee/ascii_art
Prettier ASCII art
-rw-r--r--cli/onionshare_cli/__init__.py52
-rw-r--r--cli/onionshare_cli/common.py251
-rw-r--r--desktop/src/onionshare/__init__.py4
3 files changed, 251 insertions, 56 deletions
diff --git a/cli/onionshare_cli/__init__.py b/cli/onionshare_cli/__init__.py
index 4711f624..a9c66510 100644
--- a/cli/onionshare_cli/__init__.py
+++ b/cli/onionshare_cli/__init__.py
@@ -43,57 +43,7 @@ def main(cwd=None):
onionshare uses.
"""
common = Common()
-
- # Display OnionShare banner
- print(f"OnionShare {common.version} | https://onionshare.org/")
- reset = "\033[0m"
- purple = "\33[95m"
- print(purple)
- print(" @@@@@@@@@ ")
- print(" @@@@@@@@@@@@@@@@@@@ ")
- print(" @@@@@@@@@@@@@@@@@@@@@@@@@ ")
- print(" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ")
- print(
- " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ___ _ "
- )
- print(
- " @@@@@@ @@@@@@@@@@@@@ / _ \\ (_) "
- )
- print(
- " @@@@ @ @@@@@@@@@@@ | | | |_ __ _ ___ _ __ "
- )
- print(
- " @@@@@@@@ @@@@@@@@@@ | | | | '_ \\| |/ _ \\| '_ \\ "
- )
- print(
- " @@@@@@@@@@@@ @@@@@@@@@@ \\ \\_/ / | | | | (_) | | | | "
- )
- print(
- " @@@@@@@@@@@@@@@@ @@@@@@@@@ \\___/|_| |_|_|\\___/|_| |_| "
- )
- print(
- " @@@@@@@@@ @@@@@@@@@@@@@@@@ _____ _ "
- )
- print(
- " @@@@@@@@@@ @@@@@@@@@@@@ / ___| | "
- )
- print(
- " @@@@@@@@@@ @@@@@@@@ \\ `--.| |__ __ _ _ __ ___ "
- )
- print(
- " @@@@@@@@@@@ @ @@@@ `--. \\ '_ \\ / _` | '__/ _ \\"
- )
- print(
- " @@@@@@@@@@@@@ @@@@@@ /\\__/ / | | | (_| | | | __/"
- )
- print(
- " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \\____/|_| |_|\\__,_|_| \\___|"
- )
- print(" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ")
- print(" @@@@@@@@@@@@@@@@@@@@@@@@@ ")
- print(" @@@@@@@@@@@@@@@@@@@ ")
- print(" @@@@@@@@@ ")
- print(reset)
+ common.display_banner()
# OnionShare CLI in OSX needs to change current working directory (#132)
if common.platform == "Darwin":
diff --git a/cli/onionshare_cli/common.py b/cli/onionshare_cli/common.py
index 072babd1..0b0d084f 100644
--- a/cli/onionshare_cli/common.py
+++ b/cli/onionshare_cli/common.py
@@ -44,8 +44,13 @@ class Common:
"""
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
@@ -59,6 +64,248 @@ class Common:
with open(self.get_resource_path("version.txt")) as f:
self.version = f.read().strip()
+ def display_banner(self):
+ """
+ Raw ASCII art example:
+ ╭───────────────────────────────────────────╮
+ │ * ▄▄█████▄▄ * │
+ │ ▄████▀▀▀████▄ * │
+ │ ▀▀█▀ ▀██▄ │
+ │ * ▄█▄ ▀██▄ │
+ │ ▄█████▄ ███ -+- │
+ │ ███ ▀█████▀ │
+ │ ▀██▄ ▀█▀ │
+ │ * ▀██▄ ▄█▄▄ * │
+ │ * ▀████▄▄▄████▀ │
+ │ ▀▀█████▀▀ │
+ │ -+- * │
+ │ ▄▀▄ ▄▀▀ █ │
+ │ █ █ ▀ ▀▄ █ │
+ │ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
+ │ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
+ │ │
+ │ v2.3.1 │
+ │ │
+ │ https://onionshare.org/ │
+ ╰───────────────────────────────────────────╯
+ """
+
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "╭───────────────────────────────────────────╮"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_WHITE
+ + "▄▄█████▄▄"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▄████▀▀▀████▄"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▀▀█▀ ▀██▄ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_WHITE
+ + "▄█▄ ▀██▄ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▄█████▄ ███"
+ + self.C_LIGHTPURPLE
+ + " -+- "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ███ ▀█████▀ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▀██▄ ▀█▀ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_WHITE
+ + "▀██▄ ▄█▄▄"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTPURPLE
+ + " * "
+ + self.C_WHITE
+ + "▀████▄▄▄████▀ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▀▀█████▀▀ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTPURPLE
+ + " -+- * "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▄▀▄ ▄▀▀ █ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " █ █ ▀ ▀▄ █ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_WHITE
+ + " ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│ │"
+ + self.C_RESET
+ )
+ 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
+ + "│"
+ + self.C_LIGHTGRAY
+ + f"{' '*left_spaces}v{self.version}{' '*right_spaces}"
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│ │"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_LIGHTGRAY
+ + " https://onionshare.org/ "
+ + self.C_LIGHTGRAY
+ + "│"
+ + self.C_RESET
+ )
+ print(
+ self.C_BG_PURPLE
+ + self.C_LIGHTGRAY
+ + "╰───────────────────────────────────────────╯"
+ + self.C_RESET
+ )
+ print()
+
def load_settings(self, config=None):
"""
Loading settings, optionally from a custom config json file.
@@ -130,7 +377,7 @@ class Common:
try:
appdata = os.environ["APPDATA"]
onionshare_data_dir = f"{appdata}\\OnionShare"
- except:
+ except Exception:
# If for some reason we don't have the 'APPDATA' environment variable
# (like running tests in Linux while pretending to be in Windows)
try:
@@ -265,7 +512,7 @@ class Common:
try:
tmpsock.bind(("127.0.0.1", random.randint(min_port, max_port)))
break
- except OSError as e:
+ except OSError:
pass
_, port = tmpsock.getsockname()
return port
diff --git a/desktop/src/onionshare/__init__.py b/desktop/src/onionshare/__init__.py
index 744f6979..1c69ffa5 100644
--- a/desktop/src/onionshare/__init__.py
+++ b/desktop/src/onionshare/__init__.py
@@ -75,14 +75,12 @@ def main():
The main() function implements all of the logic that the GUI version of onionshare uses.
"""
common = Common()
+ common.display_banner()
# Required for macOS Big Sur: https://stackoverflow.com/a/64878899
if common.platform == "Darwin":
os.environ["QT_MAC_WANTS_LAYER"] = "1"
- # Display OnionShare banner
- print(f"OnionShare {common.version} | https://onionshare.org/")
-
# Start the Qt app
global qtapp
qtapp = Application(common)