kbasic 0.3.2__tar.gz → 0.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kbasic-0.3.2 → kbasic-0.3.4}/PKG-INFO +1 -1
- {kbasic-0.3.2 → kbasic-0.3.4}/pyproject.toml +1 -1
- kbasic-0.3.4/src/kbasic/parsing/logging.py +44 -0
- kbasic-0.3.2/src/kbasic/parsing/log.py +0 -22
- {kbasic-0.3.2 → kbasic-0.3.4}/README.md +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/Tex.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/__init__.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/array.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/__init__.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/lib/Caroline Rose - year of the slug - 01 everything in its right place.wav +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/lib/success.mp3 +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/audio/sound.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/bar.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/Keyan.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/__init__.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/anvil.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/environment/defaultPC.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/__init__.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/basic.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/parser.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/toml.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/parsing/utils.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/shell.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/strings.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/typing.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/user_input.py +0 -0
- {kbasic-0.3.2 → kbasic-0.3.4}/src/kbasic/vectors.py +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"""configure logging for simulations"""
|
|
2
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
3
|
+
# >-|===|> Imports <|===|-<
|
|
4
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
5
|
+
import logging
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from time import time
|
|
8
|
+
|
|
9
|
+
from kbasic.parsing.basic import File
|
|
10
|
+
|
|
11
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
12
|
+
# >-|===|> Definitions <|===|-<
|
|
13
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
14
|
+
default_format = '%(levelname)-8s: %(message)s'
|
|
15
|
+
|
|
16
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
17
|
+
# >-|===|> Classes <|===|-<
|
|
18
|
+
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
19
|
+
class Log(logging.Logger):
|
|
20
|
+
def __init__(
|
|
21
|
+
self,
|
|
22
|
+
name: str,
|
|
23
|
+
file: Optional[File | str] = None,
|
|
24
|
+
file_level: int = logging.INFO,
|
|
25
|
+
console_level: int = logging.WARNING,
|
|
26
|
+
|
|
27
|
+
) -> None:
|
|
28
|
+
super().__init__(f"{__package__}.{name}")
|
|
29
|
+
self.name = name
|
|
30
|
+
|
|
31
|
+
self.console_handler = logging.StreamHandler()
|
|
32
|
+
self.console_handler.setFormatter(logging.Formatter(default_format))
|
|
33
|
+
self.console_handler.setLevel(console_level)
|
|
34
|
+
self.addHandler(self.console_handler)
|
|
35
|
+
|
|
36
|
+
if file:
|
|
37
|
+
self.file = File(file)
|
|
38
|
+
self.file_handler = logging.FileHandler(self.file.path)
|
|
39
|
+
self.file_handler.setFormatter(logging.Formatter(
|
|
40
|
+
"%(asctime)s : "+default_format,
|
|
41
|
+
"%Y-%m-%d %H:%M:%S"
|
|
42
|
+
))
|
|
43
|
+
self.file_handler.setLevel(file_level)
|
|
44
|
+
self.addHandler(self.file_handler)
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"""A logger!"""
|
|
2
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
3
|
-
# >-|===|> Imports <|===|-<
|
|
4
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
5
|
-
from typing import Callable
|
|
6
|
-
from datetime import datetime
|
|
7
|
-
from kbasic.parsing.basic import File
|
|
8
|
-
|
|
9
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
10
|
-
# >-|===|> Functions <|===|-<
|
|
11
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
12
|
-
def default_log_formatter(msg: str) -> str:
|
|
13
|
-
"""prefix datetime.now on all log entries"""
|
|
14
|
-
return f"{str(datetime.now())}: {msg}"
|
|
15
|
-
|
|
16
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
17
|
-
# >-|===|> Classes <|===|-<
|
|
18
|
-
# !==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==!==
|
|
19
|
-
class Log(File):
|
|
20
|
-
def __init__(self, path: str, verbose: bool = False) -> None:
|
|
21
|
-
File.__init__(self, path, verbose=verbose)
|
|
22
|
-
def __call__(self, msg: str, fmt: Callable[[str], str] = default_log_formatter) -> None: pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|