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.
 
 
 

116 lines
2.6 KiB

"""
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 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 = "**************************************"
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):
"""
Prints each host option
:param s:
:return:
"""
space = " " * (len(TOP_BAR) - 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 *
**************************************
"""
if not len(name) % 2 == 0:
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)
print(print_magenta(TOP_BAR))