- """
- Jeffery Russell
- 9/29/17
- """
-
- import subprocess
- import os.path
-
-
- def input_file(file_name):
- """
- This file inputs the file defined by INPUT_FILE into a string line and returns it
- :return: a string array containing the lines of INPUT_FILE
- """
- f = []
- with open(file_name.strip('\n')) as file:
- for line in file:
- f.append(line.strip(' \t\n\r'))
- return f
-
-
- def input_file_with_new_line(file_name):
- """
- Reads an entire file and returns the contents as a string
- """
- f = ""
- with open(file_name.strip('\n')) as file:
- for line in file:
- f = f + line
- return f
-
-
- def check_file_exists(fileloc):
- """
- Function which checks to see if a file exists
- :return: whether file exists
- """
- return os.path.exists(fileloc)
-
-
- def append_file(file_name, append):
- """
- Appends text to bottom of a text file
- :param file_name: name of file
- :param append: message to append on file
- :return: None
- """
- file_name = os.path.expanduser(file_name)
- f = open(file_name, "a+")
- f.write(append + "\n")
- f.close()
-
-
- def remove_line_from_file(file_name, remove):
- """
- removes a single line of text from a text file
- :param file_name:
- :param remove:
- :return:
- """
- lines = input_file(file_name)
- f = open(file_name, "w")
- for host in lines:
- if remove not in host:
- f.write(host + "\n")
- f.close()
-
-
- def create_empty_file(file_name):
- """
- simple function to create a new file on system
- """
- file_name = file_name.replace('\n', '')
- subprocess.call(['touch', file_name])
-
-
- # TOP_BAR = "********************************************"
- # TOP_BAR =
-
-
- def print_magenta(prt): return "\033[95m {}\033[00m".format(prt)
-
-
- def print_green(prt): return "\033[92m {}\033[00m".format(prt)
-
-
- def print_red(prt): return "\033[91m {}\033[00m".format(prt)
-
-
- def print_menu_option(s, top_bar_length):
- """
- Prints each host option
- :param s:
- :return:
- """
- space = " " * (top_bar_length - 4 - len(s))
- print(print_magenta("* ") + s + space + print_magenta("*"))
-
-
- def print_menu(name, lines):
- """
- Function which prints a nice menu for the user (box thing)
-
- ex:
-
- **************************************
- * SSH Drive Manager *
- * 1) Remove Remote Drive *
- * 2) Add Drive to Mount *
- * 3) View Drives *
- * 4) Exit *
- **************************************
-
- """
- padding_star = "*" * 5
- temp = 31
- max_len = 31
- for s in lines:
- temp = len(s)
- if max_len < temp:
- max_len = temp
- TOP_BAR = padding_star + "*" * max_len + padding_star
- if not len(name) % 2 == 0:
- name = name + " "
- name = name + " "
- spaces = len(TOP_BAR) - 4 - len(name)
-
- print(print_magenta(TOP_BAR))
-
- print(print_magenta("*") +
- (int(spaces / 2) * " ") +
- print_green(name) +
- (int(spaces / 2) * " ") +
- print_magenta("*"))
-
- for s in lines:
- print_menu_option(s, len(TOP_BAR))
- print(print_magenta(TOP_BAR))
|