diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/Watcher/analysis.py | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | src/Watcher/commands.py | 5 | ||||
-rw-r--r-- | src/Watcher/files.py | 11 | ||||
-rwxr-xr-x | src/Watcher/watch_log.py | 18 | ||||
-rwxr-xr-x | src/bin/watcher | 5 |
5 files changed, 30 insertions, 16 deletions
diff --git a/src/Watcher/analysis.py b/src/Watcher/analysis.py index 0e917f8..d43b1b4 100755 --- a/src/Watcher/analysis.py +++ b/src/Watcher/analysis.py @@ -3,11 +3,11 @@ import csv from watch_log import get_date import datetime import time_operations as to +import files # creating dictionary to store time spend on each applicaitons on that particular day def final_report(date): - path = "/home/" + os.getlogin() +"/.cache/Watcher/daily_data/" - filename = path + date + ".csv" + filename = files.daily_log(date) report = dict() if os.path.isfile(filename): @@ -64,7 +64,7 @@ def weekday_from_date(date): def weekly_logs(week = str(os.popen('''date +"W%V-%Y"''').read()[0:-1])): user = os.getlogin() - filename = "/home/"+user+"/.cache/Watcher/Analysis/"+week+".csv" + filename = files.weekly_log(week) with open(filename, "w") as csvfile: csvwriter = csv.writer(csvfile, delimiter='\t') @@ -95,4 +95,3 @@ def weekly_logs(week = str(os.popen('''date +"W%V-%Y"''').read()[0:-1])): #testing if __name__ == "__main__": weekly_logs("W29-2022") - diff --git a/src/Watcher/commands.py b/src/Watcher/commands.py index 8805dac..7e1b948 100755..100644 --- a/src/Watcher/commands.py +++ b/src/Watcher/commands.py @@ -1,9 +1,11 @@ import os import csv +import uuid import datetime from watch_log import get_date import analysis as anls import time_operations as to +import files class Color: @@ -71,8 +73,7 @@ def daily_summary(date = get_date()): print(" " + Color.GREEN(f'{x:<22}') + '\t ',f'{to.format_time(y):>12}') def week_summary(week = os.popen('''date +"W%V-%Y"''').read()[:-1]): - user = os.getlogin() - filename = "/home/"+user+"/.cache/Watcher/Analysis/"+week+".csv" + filename = files.weekly_log(week) with open(filename, 'r') as file: csvreader = csv.reader(file, delimiter='\t') week_overview = dict() diff --git a/src/Watcher/files.py b/src/Watcher/files.py new file mode 100644 index 0000000..1f4c9e3 --- /dev/null +++ b/src/Watcher/files.py @@ -0,0 +1,11 @@ +from xdg.BaseDirectory import save_cache_path +from os import getlogin, path +def weekly_log(week): + return path.join(save_cache_path('Watcher/Analysis'), '%s.csv' % week) + +def daily_log(date): + return path.join(save_cache_path('Watcher/daily_data'), '%s.csv' % date) + +def raw_log(date): + return path.join(save_cache_path('Watcher/raw_data'), '%s.csv' % date) +user = getlogin() diff --git a/src/Watcher/watch_log.py b/src/Watcher/watch_log.py index 6a44ca5..6119e45 100755 --- a/src/Watcher/watch_log.py +++ b/src/Watcher/watch_log.py @@ -1,6 +1,7 @@ import os import csv import time +import files import get_windows as x import afk as y from time_operations import time_difference, time_addition, convert @@ -16,7 +17,7 @@ def get_date(): return d[0:-1] def update_csv(date, Data): - filename = "/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+date+".csv" + filename = files.daily_log(date) overwrite_Data = [] with open(filename, 'w') as csvfile: for x,y in Data.items(): @@ -43,9 +44,9 @@ def import_data(file): # TODO: AFK feature devlopement (it will be developed after completing alpha product (after whole project up end running) def log_creation(): - filename = "/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+get_date()+".csv" + filename = files.daily_log(get_date()) if not(os.path.isfile(filename)): - creat_file = "/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+get_date()+".csv" + creat_file = filename with open(creat_file, 'w') as fp: pass @@ -54,7 +55,7 @@ def log_creation(): data = import_data(filename) while True: date = get_date() - filename = "/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+date+".csv" + filename = files.daily_log(date) afk = y.is_afk(afkTimeout) print(data) @@ -71,18 +72,17 @@ def log_creation(): usage = time_addition("00:00:01", usage) data.update({active_window : usage}) - if os.path.isfile("/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+get_date()+".csv"): + if os.path.isfile(files.daily_log(get_date())): update_csv(get_date(), data) - elif not(os.path.isfile("/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+get_date()+".csv")): - new_filename = "/home/"+os.getlogin()+"/.cache/Watcher/daily_data/"+get_date()+".csv" + elif not(os.path.isfile(files.daily_log(get_date()))): + new_filename = files.daily_log(get_date()) with open(new_filename, 'w') as fp: pass data.clear() - + if __name__ == "__main__": log_creation() #afk_time = int(round(int(os.popen("xprintidle").read()[:-1])/1000, 0)) #print(afk_time) - diff --git a/src/bin/watcher b/src/bin/watcher index 0dde744..ff91167 100755 --- a/src/bin/watcher +++ b/src/bin/watcher @@ -44,7 +44,10 @@ if len(arg) == 2: help_option() elif arg[1] == "--start" or arg[1] == "-s": print("Log creations started... \nif you wanna stop it, use keyboard-shortcut (Ctrl+Shift+C or Ctrl+C)") - x.log_creation() + try: + x.log_creation() + except KeyboardInterrupt: + exit(0) elif arg[1] == "--version" or arg[1] == "-v": print("Version: 2.0.0") else: |