|
|
|
@ -9,11 +9,12 @@ title = "\033[1mGAB v2.0\033[0m"
|
|
|
|
|
files = [[x, "/home/{}/.gab".format(x)] for x in os.listdir("/home/")]
|
|
|
|
|
log = {}
|
|
|
|
|
|
|
|
|
|
def read_file(user, path):
|
|
|
|
|
def read_file(user, path, num_lines):
|
|
|
|
|
global log
|
|
|
|
|
if os.path.isfile(path):
|
|
|
|
|
with open(path, "r") as f:
|
|
|
|
|
for line in f:
|
|
|
|
|
lines = f.read().split("\n")[-num_lines:]
|
|
|
|
|
for line in lines:
|
|
|
|
|
msg = line.split("|", 1)
|
|
|
|
|
if len(msg) == 2:
|
|
|
|
|
log[msg[0].strip()] = "\033[7m {} \033[0m {}".format(user, msg[1].strip())
|
|
|
|
@ -21,11 +22,17 @@ def read_file(user, path):
|
|
|
|
|
|
|
|
|
|
def list_messages(count="5"):
|
|
|
|
|
global log
|
|
|
|
|
global files
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
count = int(count)
|
|
|
|
|
except ValueError:
|
|
|
|
|
print("Error parsing list number, using default: 5")
|
|
|
|
|
count = 5
|
|
|
|
|
|
|
|
|
|
for x in files:
|
|
|
|
|
read_file(x[0], x[1], count)
|
|
|
|
|
|
|
|
|
|
sorted_keys = list(log.keys())
|
|
|
|
|
if len(sorted_keys) > 0:
|
|
|
|
|
sorted_keys.sort(reverse=True)
|
|
|
|
@ -61,33 +68,33 @@ def diff_time_from_now(t):
|
|
|
|
|
return out
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def generate_output():
|
|
|
|
|
global files
|
|
|
|
|
for x in files:
|
|
|
|
|
read_file(x[0], x[1])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def add_message(msg):
|
|
|
|
|
user = os.environ.get('USER')
|
|
|
|
|
timestamp = str(time.time())
|
|
|
|
|
fp = "/home/{}/.gab".format(user)
|
|
|
|
|
try:
|
|
|
|
|
with open("/home/{}/.gab".format(user), "a") as f:
|
|
|
|
|
with open(fp, "a") as f:
|
|
|
|
|
f.write("{}|{}\n".format(timestamp, msg.strip()))
|
|
|
|
|
print("Successfully added text to chatlog")
|
|
|
|
|
except:
|
|
|
|
|
print("Error adding text to chatlog")
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
os.chmod(fp, 0o644)
|
|
|
|
|
except PermissionError:
|
|
|
|
|
print("You do not have permission to modify the chatlog")
|
|
|
|
|
except FileNotFoundError:
|
|
|
|
|
print("The chatlog does not exist")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_command():
|
|
|
|
|
args = sys.argv[1:]
|
|
|
|
|
if not len(args):
|
|
|
|
|
generate_output()
|
|
|
|
|
list_messages()
|
|
|
|
|
elif args[0] in ["-h", "--help", "help"]:
|
|
|
|
|
print(help_text)
|
|
|
|
|
elif args[0] in ["list", "--list", "-l"]:
|
|
|
|
|
if len(args) == 2:
|
|
|
|
|
generate_output()
|
|
|
|
|
list_messages(args[1])
|
|
|
|
|
else:
|
|
|
|
|
print("Invalid command input to 'list'")
|
|
|
|
|