summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-01-21 16:45:28 -0600
committerWayne-Cole <77279425+Wacky404@users.noreply.github.com>2025-01-21 16:45:28 -0600
commit2cf29615ebf754869d6fa29c5faa906da86eb10e (patch)
tree8aee596488e06a192a92008455cb77a9facd24f9 /src
parent3468ac66316cce8cd479045a7d6cdf9a3cea82c1 (diff)
downloadworklogger-2cf29615ebf754869d6fa29c5faa906da86eb10e.tar.xz
worklogger-2cf29615ebf754869d6fa29c5faa906da86eb10e.zip
fix: json functionality actually works now
Diffstat (limited to 'src')
-rw-r--r--src/args_worklogger.py2
-rw-r--r--src/funcs_worklogger.py22
-rwxr-xr-xsrc/worklog8
3 files changed, 20 insertions, 12 deletions
diff --git a/src/args_worklogger.py b/src/args_worklogger.py
index 2ab2bc4..a6afea7 100644
--- a/src/args_worklogger.py
+++ b/src/args_worklogger.py
@@ -4,7 +4,7 @@ ARGUMENTS FILE FOR WORKLOGGER
author: Wacky404 <wacky404@dev.com>
"""
-from src.funcs_worklogger import configure
+from funcs_worklogger import configure
import argparse
diff --git a/src/funcs_worklogger.py b/src/funcs_worklogger.py
index 9c076e3..c6db6f3 100644
--- a/src/funcs_worklogger.py
+++ b/src/funcs_worklogger.py
@@ -5,10 +5,10 @@ IMPLEMENTATION FILE FOR WORKLOGGER
author: Wacky404 <wacky404@dev.com>
"""
-from src.utils.log_util_worklogger import logger
+from utils.log_util_worklogger import logger
from datetime import timezone, datetime
from pathlib import Path
-import src.utils.paths_util_worklogger as pu
+import utils.paths_util_worklogger as pu
import os.path as osp
import json
import csv
@@ -21,6 +21,10 @@ TIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Z"
FIELDS = ["timestamp", "job", "proj", "loc", "time", "start", "end", "desc"]
+def _empty(filepath):
+ return osp.getsize(filepath) == 0
+
+
def _prep_write(format, s_log, p_settings, _dt, k_args):
dt = _dt
if format == '.txt' or format == None:
@@ -114,13 +118,15 @@ def _write_file(p_save, p_backup, format, j_upper, len_file, _cp_kwargs, _log_st
csv_writer.writerow(_kwarg)
elif format == '.json' and len_file == 0 or len_file == None:
with open(chosen_job, 'w') as fd:
- json.dump(['job', _cp_kwargs], fd, indent=4)
+ json.dump({'logs': _cp_kwargs}, fd, indent=4)
elif format == '.json' and len_file >= 1:
- with open(chosen_job, 'a+') as fd:
+ with open(chosen_job, 'r+') as fd:
fd_data = json.load(fd)
- fd_data["job"].append(_cp_kwargs)
+ for _kwarg in _cp_kwargs:
+ fd_data["logs"].append(_kwarg)
fd.seek(0)
json.dump(fd_data, fd, indent=4)
+ fd.truncate()
else:
with open(chosen_job, 'a') as fd:
for _log in _log_str:
@@ -176,9 +182,11 @@ def parse(filepath):
return lines
elif ext == '.json':
lines = []
+ if _empty(filepath=filepath):
+ return lines
with open(filepath, 'r') as fd:
fd_data = json.load(fd)
- for json_ele in fd_data['job']:
+ for json_ele in fd_data["logs"]:
json_log = ''
for key, val in json_ele.items():
if key == 'timestamp':
@@ -252,7 +260,7 @@ def add_log(file_format=None, proj_settings=None, savepath=None, backuppath=None
else:
continue
- fd_data["job"].append(_deepkwargs)
+ fd_data["logs"].append(_deepkwargs)
fd.seek(0)
json.dump(fd_data, fd, indent=4)
diff --git a/src/worklog b/src/worklog
index 3926680..0bbd584 100755
--- a/src/worklog
+++ b/src/worklog
@@ -9,11 +9,11 @@ import sys
import os
import os.path as osp
import logging
-import src.utils.paths_util_worklogger as pu
-from src.funcs_worklogger import configure, add_log, combine_log
-from src.args_worklogger import parser
+import utils.paths_util_worklogger as pu
+from funcs_worklogger import configure, add_log, combine_log
+from args_worklogger import parser
from pathlib import Path
-from src.util.log_util_worklogger import logger, setup_logging
+from utils.log_util_worklogger import logger, setup_logging
from typing import Optional