summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne-Cole <77279425+Wacky404@users.noreply.github.com>2024-10-21 07:26:43 -0500
committerWayne-Cole <77279425+Wacky404@users.noreply.github.com>2024-10-21 07:26:43 -0500
commitb9fd7c764bf88b8b1649d3f844e49dc83c810558 (patch)
tree0f293f81e432e486ea65c2a540973a085cb25a2d
parent4d3b3d03af8c6125171f38685ec70ef854a4c64e (diff)
downloadworklogger-b9fd7c764bf88b8b1649d3f844e49dc83c810558.tar.xz
worklogger-b9fd7c764bf88b8b1649d3f844e49dc83c810558.zip
chore: updating files in project
-rw-r--r--src/__pycache__/args_worklogger.cpython-312.pycbin2210 -> 2426 bytes
-rw-r--r--src/args_worklogger.py (renamed from src/args_worklogger)9
-rw-r--r--src/funcs_worklogger146
-rw-r--r--src/funcs_worklogger.py210
-rw-r--r--src/log_util_worklogger.py (renamed from src/log_util_worklogger)0
-rw-r--r--src/logs/WorkLogger.log460
-rw-r--r--src/paths_util_worklogger.py (renamed from src/paths_util_worklogger)0
-rwxr-xr-xsrc/worklog45
8 files changed, 714 insertions, 156 deletions
diff --git a/src/__pycache__/args_worklogger.cpython-312.pyc b/src/__pycache__/args_worklogger.cpython-312.pyc
index ff9c57d..90aa3c6 100644
--- a/src/__pycache__/args_worklogger.cpython-312.pyc
+++ b/src/__pycache__/args_worklogger.cpython-312.pyc
Binary files differ
diff --git a/src/args_worklogger b/src/args_worklogger.py
index 18b0bad..b2bd15d 100644
--- a/src/args_worklogger
+++ b/src/args_worklogger.py
@@ -49,7 +49,7 @@ parser.add_argument(
'-p',
'--project',
action='store',
- help='',
+ help='Add a project to for the work done, if in your config uses the value of the key inplace.',
)
parser.add_argument(
@@ -63,21 +63,22 @@ parser.add_argument(
'-t',
'--time',
action='store',
- default=0
+ default=0,
+ help='Recorded in the unit of hours. Example: 0.5 is 30 minutes, recorded as 0.5hrs'
)
parser.add_argument(
'-s',
'--start',
action='store',
- help='Add a start time for the work done, to be logged with your insertion',
+ help='Add a start time for the work done, to be logged with your insertion. Use <now> for current time',
)
parser.add_argument(
'-e',
'--end',
action='store',
- help='Add a end time for the work done, to be logged with your insertion',
+ help='Add a end time for the work done, to be logged with your insertion. Use <now> for current time',
)
parser.add_argument(
diff --git a/src/funcs_worklogger b/src/funcs_worklogger
deleted file mode 100644
index e7f9ca2..0000000
--- a/src/funcs_worklogger
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/opt/homebrew/bin/python3
-"""
-IMPLEMENTATION FILE FOR WORKLOGGER
-author: Wacky404
-email: wacky404@dev.com
-"""
-
-from log_util_worklogger import logger
-from datetime import timezone
-import csv
-import datetime
-import os
-import os.path as osp
-import paths_util as pu
-
-
-def configure(dir_list=None):
- if dir_list is not None:
- for directory in dir_list:
- try:
- os.makedirs(name=directory, exist_ok=True)
- logger.debug(f"Directory {directory} created")
-
- except FileExistsError as e:
- logger.exception(f"An exception of type {type(e).__name__} occurred. "
- f"Details: This is okay, output will save in existing {directory}.")
- else:
- for directory in [pu.output_dir, pu.log_dir]:
- try:
- os.makedirs(name=directory, exist_ok=True)
- logger.debug(f"Directory {directory} created")
-
- except FileExistsError as e:
- logger.exception(f"An exception of type {type(e).__name__} occurred. "
- f"Details: This is okay, output will save in existing {directory}.")
-
-
-def arg_convert(arguments: dict):
- args: dict = {}
- for key, val in arguments.items():
- args[key] = val
-
- return args
-
-
-def parse(filepath=None):
- filename, ext = osp.splitext(osp.basename(filepath))
- logger.debug(f"Parsed: {filename}, {ext}")
- if ext == '.txt':
- with open(filepath, 'r') as fd:
- lines = [line.rstrip() for line in fd]
-
- return lines
- elif ext == '.csv':
- lines = []
- with open(filepath, 'r') as fd:
- csv_reader = csv.reader(fd, delimiter=',')
- for row in csv_reader:
- lines.append(' '.join(row))
-
- return lines
- # TODO: Make the parser for json, once I figure out json structure
- elif ext == '.json':
- pass
-
-
-def add_log(file_format=None, proj_settings=None, savepath=None, backuppath=None, **kwargs):
- dt = datetime.datetime.now(timezone.utc)
- log_str = f"{dt.strftime("%Y-%m-%dT%H:%M:%S%Z")} "
- job_upper = str(kwargs['job']).upper()
-
- if file_format != None:
- chosen_job = osp.join(savepath, f"{job_upper}{file_format}")
- else:
- chosen_job = osp.join(savepath, f"{job_upper}.txt")
-
- parsed_file = parse(chosen_job)
-
- last_entry = str(parsed_file[-1]).split(' ')
- flag_start = False
- flag_end = False
- for param in last_entry:
- param_split = param.split(':')
- var, val = param_split[0], param_split[1] if len(
- param_split) == 2 else None
- if var == 'start':
- flag_start = True
- if var == 'end':
- flag_end = True
-
- if flag_start and not flag_end and kwargs['end'] == None:
- print(
- f"Your most recent worklog for {str(kwargs['job'])} has no end time.")
- while True:
- add_endtime = input(
- "Do you want to add an end time for the last entry? (Y/n) ")
- if add_endtime == 'Y':
- insert_time = input("End Time: ")
- with open(chosen_job, 'a') as fd:
- if insert_time == 'now':
- fd.write(
- f"{log_str}job:{kwargs['job']} end:{dt.strftime("'%H:%M'")}\n")
- else:
- fd.write(
- f"{log_str}job:{kwargs['job']} end:{insert_time}\n")
- break
- elif add_endtime == 'n':
- break
-
- for key, val in kwargs.items():
- if key == 'time' and val is not None:
- log_str += f"{key}:{val}hrs "
- elif key == 'message' and val is not None:
- log_str += f"{'desc'}:'{val}' "
- elif key == 'proj' and val is not None and proj_settings is not None:
- job_projects: dict[str, str] = proj_settings[str(
- kwargs['job']).upper()]
- if str(val).upper() in job_projects.keys():
- log_str += f"{key}:{job_projects[str(val).upper()]} "
- logger.debug(
- f"Job: {kwargs['job']}; Projects: {job_projects}")
- else:
- log_str += f"{key}:{val} "
- logger.debug(
- f"Couldn't get specified projects for {kwargs['job']} in config.")
- elif key == 'start' and val == 'now':
- log_str += f"{key}:{dt.strftime("'%H:%M'")} "
- elif key == 'start' and val is not None:
- log_str += f"{key}:'{val}' "
- elif key == 'end' and val == 'now':
- log_str += f"{key}:{dt.strftime("'%H:%M'")} "
- elif key == 'end' and val is not None:
- log_str += f"{key}:'{val}' "
- elif val is not None and key != 'file_format' and key != 'proj_settings' and key != 'savepath' and key != 'backuppath':
- log_str += f"{key}:{val} "
-
- for path in [savepath, backuppath]:
- if file_format != None:
- chosen_job = osp.join(path, f"{job_upper}{file_format}")
- else:
- chosen_job = osp.join(path, f"{job_upper}.txt")
-
- with open(chosen_job, 'a') as fd:
- fd.write(f"{log_str}\n")
-
- logger.info(f"Written {kwargs['job']} worklog to {path}")
diff --git a/src/funcs_worklogger.py b/src/funcs_worklogger.py
new file mode 100644
index 0000000..c1ed0f0
--- /dev/null
+++ b/src/funcs_worklogger.py
@@ -0,0 +1,210 @@
+#!/opt/homebrew/bin/python3
+"""
+IMPLEMENTATION FILE FOR WORKLOGGER
+author: Wacky404
+email: wacky404@dev.com
+"""
+
+from pprint import pprint
+from log_util_worklogger import logger
+from datetime import timezone
+import csv
+import datetime
+import os
+import os.path as osp
+import paths_util_worklogger as pu
+
+
+def configure(dir_list=None):
+ if dir_list is not None:
+ for directory in dir_list:
+ try:
+ os.makedirs(name=directory, exist_ok=True)
+ logger.debug(f"Directory {directory} created")
+
+ except FileExistsError as e:
+ logger.exception(f"An exception of type {type(e).__name__} occurred. "
+ f"Details: This is okay, output will save in existing {directory}.")
+ else:
+ for directory in [pu.output_dir, pu.log_dir]:
+ try:
+ os.makedirs(name=directory, exist_ok=True)
+ logger.debug(f"Directory {directory} created")
+
+ except FileExistsError as e:
+ logger.exception(f"An exception of type {type(e).__name__} occurred. "
+ f"Details: This is okay, output will save in existing {directory}.")
+
+
+def arg_convert(arguments: dict):
+ args: dict = {}
+ for key, val in arguments.items():
+ args[key] = val
+
+ return args
+
+
+def parse(filepath=None):
+ filename, ext = osp.splitext(osp.basename(filepath))
+ logger.debug(f"Parsed: {filename}, {ext}")
+ if ext == '.txt':
+ with open(filepath, 'r') as fd:
+ lines = [line.rstrip() for line in fd]
+
+ return lines
+ elif ext == '.csv':
+ # TODO: format returned list of str to what we are expecting; job:example loc:place
+ lines = []
+ with open(filepath, 'r') as fd:
+ csv_reader = csv.DictReader(fd, delimiter=',')
+ for row in csv_reader:
+ csv_log = ''
+ for key, val in row.items():
+ if key == 'timestamp':
+ csv_log += f"{val} "
+ elif val:
+ csv_log += f"{key}:{val} "
+
+ lines.append(csv_log)
+
+ print(lines)
+ return lines
+ # TODO: Make the parser for json, once I figure out json structure
+ elif ext == '.json':
+ pass
+
+
+def add_log(file_format=None, proj_settings=None, savepath=None, backuppath=None, **kwargs):
+ dt = datetime.datetime.now(timezone.utc)
+ log_str = f"{dt.strftime("%Y-%m-%dT%H:%M:%S%Z")} "
+ job_upper = str(kwargs['job']).upper()
+
+ if file_format != None:
+ chosen_job = osp.join(savepath, f"{job_upper}{file_format}")
+ else:
+ chosen_job = osp.join(savepath, f"{job_upper}.txt")
+
+ parsed_file = parse(chosen_job)
+ flag_start = False
+ flag_end = False
+ if len(parsed_file) > 1:
+ last_entry = str(parsed_file[-1]).split(' ')
+ for param in last_entry:
+ param_split = param.split(':')
+ var, val = param_split[0], param_split[1] if len(
+ param_split) == 2 else None
+ if var == 'start':
+ flag_start = True
+ if var == 'end':
+ flag_end = True
+
+ if flag_start and not flag_end and kwargs['end'] == None:
+ print(
+ f"Your most recent worklog for {str(kwargs['job'])} has no end time.")
+ while True:
+ add_endtime = input(
+ "Do you want to add an end time for the last entry? (Y/n) ")
+ if add_endtime == 'Y':
+ insert_time = input("End Time: ")
+ with open(chosen_job, 'a') as fd:
+ if file_format == '.txt':
+ if insert_time == 'now':
+ fd.write(
+ f"{log_str}job:{kwargs['job']} end:{dt.strftime("'%H:%M'")}\n")
+ else:
+ fd.write(
+ f"{log_str}job:{kwargs['job']} end:{insert_time}\n")
+ elif file_format == '.csv':
+ csv_writer = csv.DictWriter(
+ fd, fieldnames=['timestamp'] + [x if x != 'message' else 'desc' for x in kwargs.keys()])
+ if insert_time == 'now':
+ csv_writer.writerow(
+ {'timestamp': f"{dt.strftime("%Y-%m-%dT%H:%M:%S%Z")}", 'job': kwargs['job'], 'end': f"{dt.strftime("'%H:%M'")}"})
+ else:
+ csv_writer.writerow(
+ {'timestamp': f"{dt.strftime("%Y-%m-%dT%H:%M:%S%Z")}", 'job': kwargs['job'], 'end': f"{insert_time}"})
+ break
+
+ elif add_endtime == 'n':
+ break
+
+ if file_format == '.txt' or file_format == None:
+ for key, val in kwargs.items():
+ if key == 'time' and val is not None:
+ log_str += f"{key}:{val}hrs "
+ elif key == 'message' and val is not None:
+ log_str += f"{'desc'}:'{val}' "
+ elif key == 'proj' and val is not None and proj_settings is not None:
+ job_projects: dict[str, str] = proj_settings[str(
+ kwargs['job']).upper()]
+ if str(val).upper() in job_projects.keys():
+ log_str += f"{key}:{job_projects[str(val).upper()]} "
+ logger.debug(
+ f"Job: {kwargs['job']}; Projects: {job_projects}")
+ else:
+ log_str += f"{key}:{val} "
+ logger.debug(
+ f"Couldn't get specified projects for {kwargs['job']} in config.")
+ elif key == 'start' and val == 'now':
+ log_str += f"{key}:{dt.strftime("'%H:%M'")} "
+ elif key == 'start' and val is not None:
+ log_str += f"{key}:'{val}' "
+ elif key == 'end' and val == 'now':
+ log_str += f"{key}:{dt.strftime("'%H:%M'")} "
+ elif key == 'end' and val is not None:
+ log_str += f"{key}:'{val}' "
+ elif val is not None:
+ log_str += f"{key}:{val} "
+ elif file_format == '.csv':
+ cp_kwargs = kwargs
+ cp_kwargs = {
+ 'timestamp': f"{dt.strftime("%Y-%m-%dT%H:%M:%S%Z")}"
+ }
+ for key, val in kwargs.items():
+ if key == 'message':
+ cp_kwargs['desc'] = val
+ continue
+ elif key == 'proj' and val is not None and proj_settings is not None:
+ job_projects: dict[str, str] = proj_settings[str(
+ kwargs['job']).upper()]
+ if str(val).upper() in job_projects.keys():
+ cp_kwargs[key] = job_projects[str(val).upper()]
+ logger.debug(
+ f"Job: {kwargs['job']}; Projects: {job_projects}")
+ else:
+ logger.debug(
+ f"Couldn't get specified projects for {kwargs['job']} in config.")
+ continue
+ elif key == 'start' and val == 'now':
+ cp_kwargs['start'] = f"{dt.strftime("'%H:%M'")}"
+ continue
+ elif key == 'end' and val == 'now':
+ cp_kwargs['end'] = f"{dt.strftime("'%H:%M'")}"
+ continue
+
+ cp_kwargs[key] = val
+
+ field_names = [x for x in cp_kwargs.keys()]
+
+ for path in [savepath, backuppath]:
+ if file_format != None:
+ chosen_job = osp.join(path, f"{job_upper}{file_format}")
+ else:
+ chosen_job = osp.join(path, f"{job_upper}.txt")
+ try:
+ if file_format == '.csv' and len(parsed_file) == 0:
+ with open(chosen_job, 'w', newline='\n') as fd:
+ csv_writer = csv.DictWriter(fd, fieldnames=field_names)
+ csv_writer.writeheader()
+ csv_writer.writerow(cp_kwargs)
+ elif file_format == '.csv' and len(parsed_file) >= 1:
+ with open(chosen_job, 'a', newline='\n') as fd:
+ csv_writer = csv.DictWriter(fd, fieldnames=field_names)
+ csv_writer.writerow(cp_kwargs)
+ else:
+ with open(chosen_job, 'a') as fd:
+ fd.write(f"{log_str}\n")
+ except PermissionError as e:
+ logger.exception(str(e))
+
+ logger.info(f"Written {kwargs['job']} worklog to {path}")
diff --git a/src/log_util_worklogger b/src/log_util_worklogger.py
index 966f035..966f035 100644
--- a/src/log_util_worklogger
+++ b/src/log_util_worklogger.py
diff --git a/src/logs/WorkLogger.log b/src/logs/WorkLogger.log
index f747d85..e57cf33 100644
--- a/src/logs/WorkLogger.log
+++ b/src/logs/WorkLogger.log
@@ -186,3 +186,463 @@ FileExistsError: [Errno 17] File exists: '/Users/cole/Documents/GitHub/worklogge
[DEBUG|funcs_worklogger|L42] 2024-10-05T21:18:20-0500: Parse: UASYS, .txt
[DEBUG|funcs_worklogger|L118] 2024-10-05T21:18:20-0500: Couldn't specified projects for uasys in config.
[INFO|funcs_worklogger|L140] 2024-10-05T21:18:20-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L51] 2024-10-05T22:42:33-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T22:42:33-0500: Could not find your config file, using defaults...
+[DEBUG|worklog|L51] 2024-10-05T22:49:38-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T22:49:38-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T22:49:38-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[DEBUG|worklog|L51] 2024-10-05T22:56:14-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T22:56:14-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T22:56:14-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[DEBUG|worklog|L51] 2024-10-05T22:59:23-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T22:59:23-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T22:59:23-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[DEBUG|worklog|L51] 2024-10-05T23:02:05-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T23:02:05-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:02:05-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[ERROR|funcs_worklogger|L146] 2024-10-05T23:02:05-0500: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+Traceback (most recent call last):
+ File "/Users/cole/Documents/GitHub/worklogger/src/funcs_worklogger.py", line 143, in add_log
+ with open(chosen_job, 'a') as fd:
+ ^^^^^^^^^^^^^^^^^^^^^
+PermissionError: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+[INFO|funcs_worklogger|L148] 2024-10-05T23:02:05-0500: Written not so great company worklog to /Users/cole/..
+[DEBUG|worklog|L51] 2024-10-05T23:02:55-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T23:02:55-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:02:55-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[ERROR|funcs_worklogger|L146] 2024-10-05T23:02:55-0500: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+Traceback (most recent call last):
+ File "/Users/cole/Documents/GitHub/worklogger/src/funcs_worklogger.py", line 143, in add_log
+ with open(chosen_job, 'a') as fd:
+ ^^^^^^^^^^^^^^^^^^^^^
+PermissionError: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+[INFO|funcs_worklogger|L148] 2024-10-05T23:02:55-0500: Written not so great company worklog to /Users/cole/..
+[DEBUG|worklog|L51] 2024-10-05T23:05:05-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T23:05:05-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:05:05-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[ERROR|funcs_worklogger|L146] 2024-10-05T23:05:05-0500: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+Traceback (most recent call last):
+ File "/Users/cole/Documents/GitHub/worklogger/src/funcs_worklogger.py", line 143, in add_log
+ with open(chosen_job, 'a') as fd:
+ ^^^^^^^^^^^^^^^^^^^^^
+PermissionError: [Errno 13] Permission denied: '/Users/cole/../NOT SO GREAT COMPANY.txt'
+[INFO|funcs_worklogger|L148] 2024-10-05T23:05:05-0500: Written not so great company worklog to /Users/cole/..
+[DEBUG|worklog|L51] 2024-10-05T23:06:04-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T23:06:04-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:06:04-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[INFO|funcs_worklogger|L148] 2024-10-05T23:06:04-0500: Written not so great company worklog to /Users/cole/Documents/WorkLogger
+[DEBUG|worklog|L51] 2024-10-05T23:07:13-0500: Found dotfile(s): []
+[DEBUG|worklog|L59] 2024-10-05T23:07:13-0500: Could not find your config file, using defaults...
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:07:13-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[INFO|funcs_worklogger|L148] 2024-10-05T23:07:13-0500: Written not so great company worklog to /Users/cole/Documents
+[INFO|funcs_worklogger|L148] 2024-10-05T23:07:13-0500: Written not so great company worklog to /Users/cole/Documents/WorkLogger
+[DEBUG|worklog|L51] 2024-10-05T23:12:24-0500: Found dotfile(s): [PosixPath('/Users/cole/.workloggerconfig.json')]
+[DEBUG|worklog|L57] 2024-10-05T23:12:24-0500: Using user config file in /Users/cole/.workloggerconfig.json
+[DEBUG|funcs_worklogger|L22] 2024-10-05T23:12:24-0500: Directory /Users/cole/~ created
+[DEBUG|worklog|L94] 2024-10-05T23:12:24-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L103] 2024-10-05T23:12:24-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:12:24-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[INFO|funcs_worklogger|L148] 2024-10-05T23:12:52-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L148] 2024-10-05T23:12:52-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L51] 2024-10-05T23:13:03-0500: Found dotfile(s): [PosixPath('/Users/cole/.workloggerconfig.json')]
+[DEBUG|worklog|L57] 2024-10-05T23:13:03-0500: Using user config file in /Users/cole/.workloggerconfig.json
+[DEBUG|worklog|L94] 2024-10-05T23:13:03-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L103] 2024-10-05T23:13:03-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:13:03-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[INFO|funcs_worklogger|L148] 2024-10-05T23:13:03-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L148] 2024-10-05T23:13:03-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L51] 2024-10-05T23:16:04-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L57] 2024-10-05T23:16:04-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L94] 2024-10-05T23:16:04-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L103] 2024-10-05T23:16:04-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-05T23:16:04-0500: Parsed: NOT SO GREAT COMPANY, .txt
+[INFO|funcs_worklogger|L148] 2024-10-05T23:16:04-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L148] 2024-10-05T23:16:04-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L51] 2024-10-06T11:04:27-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L57] 2024-10-06T11:04:27-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L50] 2024-10-06T11:06:00-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:06:00-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:06:00-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:06:00-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:06:00-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:12:50-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:12:50-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:12:50-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:12:50-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:12:50-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:18:07-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:18:07-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:18:07-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:18:07-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:18:07-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:20:40-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:20:40-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:20:40-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:20:40-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:20:40-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L164] 2024-10-06T11:20:40-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L164] 2024-10-06T11:20:40-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T11:22:33-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:22:33-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:22:33-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:22:33-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:22:33-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L164] 2024-10-06T11:22:33-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[DEBUG|worklog|L50] 2024-10-06T11:23:48-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:23:48-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:23:48-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:23:48-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:23:48-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:24:24-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:24:24-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:24:24-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:24:24-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:24:24-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L165] 2024-10-06T11:24:24-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[DEBUG|worklog|L50] 2024-10-06T11:35:32-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:35:32-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:35:32-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:35:32-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:35:32-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:35:58-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:35:58-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:35:58-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:35:58-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:35:58-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T11:36:39-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:36:39-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:36:39-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:36:39-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:36:39-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L170] 2024-10-06T11:36:39-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L170] 2024-10-06T11:36:39-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T11:38:24-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T11:38:24-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T11:38:24-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T11:38:24-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T11:38:24-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L170] 2024-10-06T11:38:24-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L170] 2024-10-06T11:38:24-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:02:57-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:02:57-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:02:57-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:02:57-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T13:02:57-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L180] 2024-10-06T13:02:57-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L180] 2024-10-06T13:02:57-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:06:36-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:06:36-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:06:36-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:06:36-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T13:06:36-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L181] 2024-10-06T13:06:36-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L181] 2024-10-06T13:06:36-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:07:33-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:07:33-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:07:33-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:07:33-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L48] 2024-10-06T13:07:33-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:07:33-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:07:33-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:10:02-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:10:02-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:10:02-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:10:02-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:10:02-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:10:02-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:10:02-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:12:31-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:12:31-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:12:31-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:12:31-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:12:31-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:12:31-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:12:31-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:13:31-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:13:31-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:13:31-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:13:31-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:13:31-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:13:31-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:13:31-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:13:35-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:13:35-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:13:35-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:13:35-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:13:35-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:13:35-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:13:35-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:14:02-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:14:02-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:14:02-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:14:02-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:14:02-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:14:02-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:14:02-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:14:25-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:14:25-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:14:25-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:14:25-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:14:25-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:14:25-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:14:25-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:17:54-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:17:54-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:17:54-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:17:54-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:17:54-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:17:54-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:17:54-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:17:59-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:17:59-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:17:59-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:17:59-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:17:59-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:17:59-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:17:59-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:18:10-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:18:10-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:18:10-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:18:10-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:18:10-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L182] 2024-10-06T13:18:10-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L182] 2024-10-06T13:18:10-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:27:58-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:27:58-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:27:58-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:27:58-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:27:58-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:27:58-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:27:58-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:28:41-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:28:41-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:28:41-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:28:41-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:28:41-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|funcs_worklogger|L162] 2024-10-06T13:28:41-0500: Job: not so great company; Projects: {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}
+[INFO|funcs_worklogger|L193] 2024-10-06T13:28:41-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:28:41-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:31:08-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:31:08-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:31:08-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:31:08-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:31:08-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:31:19-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:31:19-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:32:34-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:32:34-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:32:34-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:32:34-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:32:34-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:34-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:34-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:32:44-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:32:44-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:32:44-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:32:44-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:32:44-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|funcs_worklogger|L162] 2024-10-06T13:32:44-0500: Job: not so great company; Projects: {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:44-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:44-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:32:48-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:32:48-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:32:48-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:32:48-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:32:48-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|funcs_worklogger|L162] 2024-10-06T13:32:48-0500: Job: not so great company; Projects: {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:48-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:32:48-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:33:01-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:33:01-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:33:01-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:33:01-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:33:01-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:01-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:01-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:33:12-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:33:12-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:33:12-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:33:12-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:33:12-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:12-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:12-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:33:18-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:33:18-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:33:18-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:33:18-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:33:18-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:18-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L193] 2024-10-06T13:33:18-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:50:17-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:50:17-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:50:17-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:50:17-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:50:17-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|funcs_worklogger|L174] 2024-10-06T13:50:17-0500: Job: not so great company; Projects: {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:17-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:17-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:50:23-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:50:23-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:50:23-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:50:23-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:50:23-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:23-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:23-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:50:33-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:50:33-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:50:33-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:50:33-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:50:33-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|funcs_worklogger|L174] 2024-10-06T13:50:33-0500: Job: not so great company; Projects: {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:33-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L212] 2024-10-06T13:50:33-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T13:52:04-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:52:04-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:52:04-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:52:04-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:52:04-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T13:54:00-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:54:00-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:54:00-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:54:00-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:54:00-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T13:54:28-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:54:28-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:54:28-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:54:28-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:54:28-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T13:56:28-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T13:56:28-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T13:56:28-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T13:56:28-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T13:56:28-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L210] 2024-10-06T13:56:31-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-06T13:56:31-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T14:02:51-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T14:02:51-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T14:02:51-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T14:02:51-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T14:02:51-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[DEBUG|worklog|L50] 2024-10-06T14:29:53-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T14:29:53-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T14:29:53-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T14:29:53-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T14:29:53-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L210] 2024-10-06T14:29:56-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-06T14:29:56-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-06T14:32:20-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-06T14:32:20-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-06T14:32:20-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-06T14:32:20-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-06T14:32:20-0500: Parsed: NOT SO GREAT COMPANY, .csv
+[INFO|funcs_worklogger|L210] 2024-10-06T14:32:20-0500: Written not so great company worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-06T14:32:20-0500: Written not so great company worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-11T15:01:19-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-11T15:01:19-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-11T15:01:19-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}}
+[DEBUG|worklog|L101] 2024-10-11T15:01:19-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-11T15:01:19-0500: Parsed: PACES, .csv
+[DEBUG|worklog|L50] 2024-10-11T15:04:33-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-11T15:04:33-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-11T15:04:33-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-11T15:04:33-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-11T15:04:33-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-11T15:04:33-0500: Job: Paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-11T15:04:33-0500: Written Paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-11T15:04:33-0500: Written Paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-14T13:45:41-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-14T13:45:41-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-14T13:45:41-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-14T13:45:41-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-14T13:45:41-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-14T13:45:41-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-14T13:45:41-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-14T13:45:41-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-14T16:47:32-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-14T16:47:32-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-14T16:47:32-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-14T16:47:32-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-14T16:47:32-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-14T16:47:32-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-14T16:47:32-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-14T16:47:32-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-15T14:21:46-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-15T14:21:46-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-15T14:21:46-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-15T14:21:46-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-15T14:21:46-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-15T14:21:46-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-15T14:21:46-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-15T14:21:46-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-15T15:36:22-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-15T15:36:22-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-15T15:36:22-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-15T15:36:22-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-15T15:36:22-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-15T15:36:22-0500: Job: paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-15T15:36:22-0500: Written paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-15T15:36:22-0500: Written paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-15T17:12:01-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-15T17:12:01-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-15T17:12:01-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-15T17:12:01-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-15T17:12:01-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-15T17:12:01-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-15T17:12:01-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-15T17:12:01-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-15T17:13:14-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-15T17:13:14-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-15T17:13:14-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-15T17:13:14-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-15T17:13:14-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-15T17:13:14-0500: Job: paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-15T17:13:14-0500: Written paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-15T17:13:14-0500: Written paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-16T14:04:19-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-16T14:04:19-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-16T14:04:19-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-16T14:04:19-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-16T14:04:19-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-16T14:04:19-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-16T14:04:19-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-16T14:04:19-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-16T15:14:24-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-16T15:14:24-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-16T15:14:24-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-16T15:14:24-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-16T15:14:24-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-16T15:14:24-0500: Job: paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-16T15:14:24-0500: Written paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-16T15:14:24-0500: Written paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-16T16:05:17-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-16T16:05:17-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-16T16:05:17-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-16T16:05:17-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-16T16:05:17-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-16T16:05:17-0500: Job: paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-16T16:05:17-0500: Written paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-16T16:05:17-0500: Written paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-16T16:10:00-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-16T16:10:00-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-16T16:10:00-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-16T16:10:00-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-16T16:10:00-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-16T16:10:00-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-16T16:10:00-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-16T16:10:00-0500: Written uasys worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-16T18:28:56-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-16T18:28:56-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-16T18:28:56-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-16T18:28:56-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-16T18:28:56-0500: Parsed: PACES, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-16T18:28:56-0500: Job: paces; Projects: {'INTERCONNECTION': 'InterConnection Queue'}
+[INFO|funcs_worklogger|L210] 2024-10-16T18:28:56-0500: Written paces worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-16T18:28:56-0500: Written paces worklog to /Users/cole/Documents/worklogger
+[DEBUG|worklog|L50] 2024-10-17T16:52:45-0500: Found dotfile(s): [PosixPath('/Users/cole/.config/.workloggerconfig.json')]
+[DEBUG|worklog|L56] 2024-10-17T16:52:45-0500: Using user config file in /Users/cole/.config/.workloggerconfig.json
+[DEBUG|worklog|L92] 2024-10-17T16:52:45-0500: {'GREAT COMPANY': {'proj 1': 'null', 'proj 2': '0987654321', 'proj 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'codename: secrete': '404', 'govwork': '902753203', 'exemplary': '9023hdalw903'}, 'UASYS': {'General': 'anything'}, 'PACES': {'Interconnection': 'InterConnection Queue'}}
+[DEBUG|worklog|L101] 2024-10-17T16:52:45-0500: {'GREAT COMPANY': {'PROJ 1': 'null', 'PROJ 2': '0987654321', 'PROJ 3': '1234567890'}, 'NOT SO GREAT COMPANY': {'CODENAME: SECRETE': '404', 'GOVWORK': '902753203', 'EXEMPLARY': '9023hdalw903'}, 'UASYS': {'GENERAL': 'anything'}, 'PACES': {'INTERCONNECTION': 'InterConnection Queue'}}
+[DEBUG|funcs_worklogger|L49] 2024-10-17T16:52:45-0500: Parsed: UASYS, .csv
+[DEBUG|funcs_worklogger|L172] 2024-10-17T16:52:45-0500: Job: uasys; Projects: {'GENERAL': 'anything'}
+[INFO|funcs_worklogger|L210] 2024-10-17T16:52:45-0500: Written uasys worklog to /Users/cole/Documents/GitHub/worklogger/Output
+[INFO|funcs_worklogger|L210] 2024-10-17T16:52:45-0500: Written uasys worklog to /Users/cole/Documents/worklogger
diff --git a/src/paths_util_worklogger b/src/paths_util_worklogger.py
index eb6bf81..eb6bf81 100644
--- a/src/paths_util_worklogger
+++ b/src/paths_util_worklogger.py
diff --git a/src/worklog b/src/worklog
index 2b9d362..2b4dca8 100755
--- a/src/worklog
+++ b/src/worklog
@@ -12,7 +12,7 @@ import sys
import os
import os.path as osp
import logging
-import paths_util as pu
+import paths_util_worklogger as pu
from funcs_worklogger import configure, add_log, arg_convert
from args_worklogger import parser
from pathlib import Path
@@ -21,7 +21,6 @@ from log_util_worklogger import logger, setup_logging
SAVEPATH: Path | str
BACKUPPATH: Path | str
-CONFIGPATH: Path | str
formats: dict = {
"TEXT": '.txt',
@@ -46,14 +45,19 @@ else:
dotfile: list | None = None
if osp.exists(osp.join(os.getcwd(), os.pardir)):
- dotfile = list(Path(osp.join(os.getcwd(), os.pardir)).glob(
+ dotfile = list(Path(osp.join(osp.expanduser('~'), ".config")).glob(
'**/*.workloggerconfig.json'))
+ logger.debug(f"Found dotfile(s): {dotfile}")
if len(dotfile) > 1:
logger.error(
f"You have {len(dotfile)} config files, using defaults...")
dotfile = None
- else:
+ elif len(dotfile) == 1:
logger.debug(f"Using user config file in {str(dotfile[0])}")
+ elif len(dotfile) == 0:
+ logger.debug(f"Could not find your config file, using defaults...")
+ dotfile = None
+
settings: dict | None = None
if dotfile is not None:
@@ -69,14 +73,16 @@ if dotfile is not None:
if settings is not None:
SAVEPATH = Path(osp.join(osp.expanduser("~"), settings['savepath']))
BACKUPPATH = Path(osp.join(osp.expanduser("~"), settings['backuppath']))
- CONFIGPATH = Path(osp.join(osp.expanduser("~"), settings['configpath']))
numeric_loglevel_settings = getattr(
logging, str(settings['loglvl']).upper())
setup_logging(numeric_loglevel_settings)
dir_list: list = [d for d in [
- SAVEPATH, BACKUPPATH, CONFIGPATH] if not osp.exists(d)]
+ SAVEPATH, BACKUPPATH] if not osp.exists(d)]
if len(dir_list) > 0:
configure(dir_list=dir_list)
+else:
+ SAVEPATH = Path(osp.join(osp.expanduser("~"), "Documents"))
+ BACKUPPATH = Path(osp.join(osp.expanduser("~"), "Documents", "worklogger"))
jname_proj: dict[str, dict] = {}
@@ -94,6 +100,33 @@ if settings is not None:
jname_proj[name] = projs
logger.debug(f"{jname_proj}")
+ try:
+ filepath = osp.join(SAVEPATH, f"{str(args.job).upper()}{formats[str(
+ settings['fileformat']).upper()]}")
+ filepath_backup = osp.join(BACKUPPATH, f"{str(args.job).upper()}{formats[str(
+ settings['fileformat']).upper()]}")
+ if not osp.exists(filepath):
+ with open(filepath, 'x'):
+ pass
+ if not osp.exists(filepath):
+ with open(filepath_backup, 'x'):
+ pass
+ except Exception as e:
+ logger.exception(str(e))
+
+else:
+ try:
+ filepath = osp.join(SAVEPATH, f"{str(args.job).upper()}.txt")
+ filepath_backup = osp.join(BACKUPPATH, f"{str(args.job).upper()}.txt")
+ if not osp.exists(filepath):
+ with open(filepath, 'x'):
+ pass
+ if not osp.exists(filepath):
+ with open(filepath_backup, 'x'):
+ pass
+ except Exception as e:
+ logger.exception(str(e))
+
try:
for name in jname_proj.keys():
filepath = osp.join(SAVEPATH, f"{name}.txt")