Python scripts I use to manage my ssh connections, drive mounts, and other bash related things.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

119 lines
3.0 KiB

"""
Python script that prints an ascii roo with a message above it
Jeffery Russell
10-8-17
"""
import sys
from utils import print_message_bubble
def main():
"""
checks for command line arguments
:return: None
"""
message = ""
for i in range(1, len(sys.argv)):
if len(message) > 0:
message += " "
message += sys.argv[i]
if len(message) == 0:
for line in sys.stdin:
message+= line
message = " ".join(message.split())
roo_say(message)
def roo_say(message):
"""
Method which prints an ascii roo with a message above it
:param message: the message to print
:return: none
"""
print_message_bubble.print_message(message)
#print_message(message)
print_roo()
def print_message(message):
"""
Prints the message above Roo
:param message: the message to print
:return: None
"""
print_list, max_len = convert_to_list(message)
if len(print_list) > 0:
"Print top"
print(" " + "-" * (2 + max_len))
"print middle"
if len(print_list) == 1:
print("< " + print_list[0] + " >")
else:
for i in range(0, len(print_list)):
if i == 0:
print("/ " + print_list[i]
+ " " * (max_len - len(print_list[i])) +" \\")
elif i == len(print_list) -1:
print("\ " + print_list[i]
+ " " * (max_len - len(print_list[i])) + " /")
else:
print("| " + print_list[i]
+ " " * (max_len - len(print_list[i])) + " |")
"print bottom"
print(" " + "-" * (max_len + 2))
else:
print("Please pass in a message parameter")
def convert_to_list(message):
"""
Converts the message into string lines which are
less than 35 characters - easier for printing
:param message: the string message
:return: the list of the string lines and the length of the longest line
"""
temp_build = ""
temp_return = []
max_len = 0
for word in message.split(" "):
if len(temp_build) + len(word) < 35:
if len(temp_build) > 0:
temp_build += " "
temp_build += word
if max_len < len(temp_build):
max_len = len(temp_build)
else:
temp_return.append(temp_build)
temp_build = word
if len(temp_build) > 0:
temp_return.append(temp_build)
return temp_return, max_len
def print_roo():
"""
prints the roo ascii
:return: None
"""
print("")
print(" \ /)/)")
print(" \ (ø.ø)")
print(" \ ( />")
print(" __/ _\ //")
print(" '~( '~ )//")
print(" _\ '}/")
print(" \"--~(/")
"""
If ran from command line, this will call the main which
looks for command line arguments
"""
if __name__ == '__main__':
main()