diff options
| author | Wayne-Cole <77279425+Wacky404@users.noreply.github.com> | 2025-01-21 16:45:28 -0600 |
|---|---|---|
| committer | Wayne-Cole <77279425+Wacky404@users.noreply.github.com> | 2025-01-21 16:45:28 -0600 |
| commit | 2cf29615ebf754869d6fa29c5faa906da86eb10e (patch) | |
| tree | 8aee596488e06a192a92008455cb77a9facd24f9 | |
| parent | 3468ac66316cce8cd479045a7d6cdf9a3cea82c1 (diff) | |
| download | worklogger-2cf29615ebf754869d6fa29c5faa906da86eb10e.tar.xz worklogger-2cf29615ebf754869d6fa29c5faa906da86eb10e.zip | |
fix: json functionality actually works now
| -rw-r--r-- | src/args_worklogger.py | 2 | ||||
| -rw-r--r-- | src/funcs_worklogger.py | 22 | ||||
| -rwxr-xr-x | src/worklog | 8 | ||||
| -rw-r--r-- | test/test_args.py | 1 |
4 files changed, 20 insertions, 13 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 diff --git a/test/test_args.py b/test/test_args.py index ff492ac..815e41d 100644 --- a/test/test_args.py +++ b/test/test_args.py @@ -9,7 +9,6 @@ import random import json -# 2024-11-29T02:45:40UTC TIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Z" FIELDS = ["timestamp", "job", "proj", "loc", "time", "start", "end", "desc"] |
