From e7c0605f01dd0861d4db36a2480e079e846ea169 Mon Sep 17 00:00:00 2001 From: sloumdrone Date: Thu, 20 Dec 2018 19:48:04 -0800 Subject: [PATCH] Added checking for new posts since last login --- cspc.py | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/cspc.py b/cspc.py index a5e6178..0ef4e8b 100644 --- a/cspc.py +++ b/cspc.py @@ -6,6 +6,7 @@ import sqlite3 as sql import datetime, time import subprocess import readline +import signal class c: black = '' @@ -29,7 +30,7 @@ topic = None post = None available_ids = [] messages = [] - +last_log = False def go_back(): global post @@ -131,6 +132,7 @@ def parse_command(com): elif com == 'help': show_help() elif com in ['quit', 'q', 'exit']: + set_last_log() sys.exit(0) elif com == 'add': make_add() @@ -204,7 +206,11 @@ def get_posts(): title = row[1] if len(title) > 35: title = '{}...'.format(title[:32]) - print('({:^4}) {:35} {:12} {:18}'.format(row[0], title, row[2], dtime)) + if last_log > row[3]: + print('({:^4}) {:35} {:12} {:18}'.format(row[0], title, row[2], dtime)) + else: + print('({:^4}) {:35} {:12} {}{:18}{}'.format(row[0], title, row[2], c.green, dtime, c.end)) + return True @@ -221,7 +227,11 @@ def get_topics(): title = row[0] if len(title) > 35: title = '{}...'.format(title[:32]) - print('({:^4}) {}{:35}{} {:18}'.format(row[2], c.cyan, title, c.end, dtime)) + if last_log > row[1]: + print('({:^4}) {}{:35}{} {:18}'.format(row[2], c.cyan, title, c.end, dtime)) + else: + print('({:^4}) {}{:35} {}{:18}{}'.format(row[2], c.cyan, title, c.green, dtime, c.end)) + return True @@ -278,6 +288,32 @@ def add_to_db(action, data): tupdate = update_time(utime) return True + +def get_last_log(): + global last_log + + filepath = '{}/.cspc'.format(userdir) + if not os.path.isfile(filepath): + with open(filepath, 'w') as f: + current = int(time.time()) + f.write(str(current)) + + with open(filepath, 'r') as f: + data = f.read() + + try: + last_log = int(data) + except: + last_log = False + +def set_last_log(): + filepath = '{}/.cspc'.format(userdir) + with open(filepath, 'w') as f: + current = int(time.time()) + f.write(str(current)) + + + #------- Main loop --------# def mainloop(): @@ -301,5 +337,7 @@ def mainloop(): if __name__ == '__main__': + signal.signal(signal.SIGINT, signal.SIG_IGN) check_and_build_db() + get_last_log() mainloop()