diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-10-25 01:27:44 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-10-25 01:27:44 +0800 |
| commit | 73bbb4c1a81717bfebc22b8eda55d3bad7b577bd (patch) | |
| tree | 04fa6714ea61cbc32ecd3e43581d52c70f13f8bf /read.py | |
| parent | 421ae9be8019d5f0b460654c5b5b7b664a14311a (diff) | |
init
Diffstat (limited to 'read.py')
| -rwxr-xr-x | read.py | 61 |
1 files changed, 61 insertions, 0 deletions
@@ -0,0 +1,61 @@ +#!/usr/bin/env python + +from stdlib import * +from datetime import datetime +from configparser import ConfigParser as config +from configparser import NoOptionError, NoSectionError +from os import path + + +expanduser = path.expanduser + +# function to get config +if not path.isfile(f"{expanduser('~')}/.config/jlog/jlog.conf"): + raise FileNotFoundError(f"Config {expanduser('~')}/.config/jlog/jlog.conf not found") +else: + printinfo(f"Using config file {expanduser('~')}/.config/jlog/jlog.conf") +config = config() +config.read(f"{expanduser('~')}/.config/jlog/jlog.conf") +try: + log_file = config.get('global', 'file').replace('~', expanduser('~')) +except NoSectionError: + raise NoSectionError(f"Section global not found in {expanduser('~')}/.config/jlog/jlog.conf") +except NoOptionError: + log_file = f"{expanduser('~')}/.config/jlog/jlog_{datetime.now()}" +if not path.isfile(log_file): + printerror(f"Log file {log_file} not found") + raise FileNotFoundError(f"Log file {log_file} not found") +else: + printinfo(f"Using log file {log_file}") + +def colorize(log: str) -> str: + lines = log.splitlines() + for i in range(len(lines)): + lines[i] = lines[i].replace('DEBUG', f"{ascii.color.lcyan}DEBUG{ascii.color.reset}") + lines[i] = lines[i].replace('INFO', f"{ascii.color.green}INFO{ascii.color.reset}") + lines[i] = lines[i].replace('WARNING', f"{ascii.color.yellow}WARNING{ascii.color.reset}") + lines[i] = lines[i].replace('ERROR', f"{ascii.color.lred}ERROR{ascii.color.reset}") + lines[i] = lines[i].replace('CRITICAL', f"{ascii.color.red}CRITICAL{ascii.color.reset}") + lines[i] = lines[i].replace('FATAL', f"{ascii.color.red}FATAL{ascii.color.reset}") + + return '\n'.join(lines) + + + +# main function(process) +def get_log() -> str: + return open(log_file, 'r').read() + + +# main function(ui) +def main() -> None: + global log + + log = get_log() + + log = colorize(log) + +if __name__ == "__main__": + main() + +aprintf(log, interval=0.001)
\ No newline at end of file |
