Clemens Schwaighofer
a14f993a31
Add pre-compiled REGEX entries to the regex pattern file
...
compiled ones hare prefixed with COMPILED_
2026-01-08 15:14:48 +09:00
Clemens Schwaighofer
ae938f9909
v0.44.0: Add more REGEX patters for email matching
2026-01-08 14:59:49 +09:00
Clemens Schwaighofer
f91e0bb93a
Add new regex constants for email handling and update related tests
2026-01-08 14:58:14 +09:00
Clemens Schwaighofer
2923a3e88b
Fix settings loader to return empty list when splitting empty string value
2026-01-06 09:58:21 +09:00
Clemens Schwaighofer
f89b91fe7f
Settings loader different log string to value error raise string
2025-12-24 10:23:27 +09:00
Clemens Schwaighofer
f349927a63
Reset error message list in settings loader
2025-12-24 10:14:54 +09:00
Clemens Schwaighofer
d224876a8e
Settings loader, pass error messages to exception raise
...
So we can get the actual error message in the exception if logging is all off
2025-12-24 10:08:38 +09:00
Clemens Schwaighofer
9034a31cd6
Add math helper module
...
Currently with GCD and LCD functions, along with unit tests.
2025-12-18 17:21:14 +09:00
Clemens Schwaighofer
523e61c9f7
Add SQL Main class as general wrapper for SQL DB handling
2025-12-18 17:20:57 +09:00
Clemens Schwaighofer
cf575ded90
Update on the CSV helper class with UTF detection for BOM reading
2025-12-16 18:53:16 +09:00
Clemens Schwaighofer
11a75d8532
Settings loader error message text update
2025-12-16 09:47:40 +09:00
Clemens Schwaighofer
6593e11332
Update deprecation infor for enum base
...
Test run add for regex checks domain name regex contants
2025-12-10 11:35:00 +09:00
Clemens Schwaighofer
acd61e825e
Add Log method "any handler is minimum level" with tests
...
Checks if a given handler is set for any current active handler
2025-12-04 14:37:55 +09:00
Clemens Schwaighofer
90e5179980
Remove text color handling from corelibs and use corelibs_text_colors instead
...
Also update enum with proper pyi file for deprecation warnings
2025-11-20 10:59:44 +09:00
Clemens Schwaighofer
4ffe372434
Change that the args overload has to be set to override settings from arguments
...
So we do not have issues with values change because an arugment has the same name as a setting name
2025-11-20 10:00:36 +09:00
Clemens Schwaighofer
1f7f4b8d53
Update settings loader with skip argument set if not matching settings type or ignore flag is set
...
We have "args:no" that can be set to avoid override from arguments.
Also arguments that do not match the exepected type are not loaded
2025-11-19 19:01:29 +09:00
Clemens Schwaighofer
f1788f057f
Log skip format change it format flags have not changed
2025-11-19 17:42:47 +09:00
Clemens Schwaighofer
51e9b1ce7c
Add "LEVEL" option to console log format
...
So we can set output to onle the message without any information (NONE),
only level (BARE), time and level (MINIMAL), time, file, line and level (CONDENSED) or
(ALL) full information.
2025-11-19 17:35:27 +09:00
Clemens Schwaighofer
d29f827fc9
Add a function to Log system to update the console formatter dynamically.
2025-11-19 15:17:25 +09:00
Clemens Schwaighofer
afce5043e4
Cleanup other functions to use extern corelibs
...
Remove tests for parts that have moved to stand alone libraries
2025-11-19 13:46:34 +09:00
Clemens Schwaighofer
5996bb1fc0
Add Log ConsoleFormatSettings.from_string static method to get settings by name with default option
...
To help set from config or command line with fallback
2025-11-19 13:45:26 +09:00
Clemens Schwaighofer
06a17d7c30
Switch datetime handling, var handling to corelibs libraries
...
Use external corelib libraries for datetime handling and var handling enum base.
2025-11-19 13:13:32 +09:00
Clemens Schwaighofer
1280b2f855
Log switch to bitwise flag settings for console format type
...
Has the following settings
TIME, TIME_SECONDS, TIME_MILLISECONDS, TIME_MICROSECONDS: enable time output in different formats
TIME and TIME_MILLISECONDS are equivalent, if multiple are set the smallest precision wins
TIMEZONE: add time zone to time output
NAME: log group name
FILE: short file name
FUNCTION: function name
LINENO: line number
There is a class with quick grouped settings
ConsoleFormatSettings
ALL: all options enabled, time is in milliseconds
CONDENSED: time without time zone, file and line number
MINIMAL: only time without time zone
BARE: only the message, no other info
2025-11-19 11:25:49 +09:00
Clemens Schwaighofer
52919cbc49
Log: move process id to front of pathname in log format
...
The previous filename:pid has been removed, the filename is part of the pathname.
No need for double filename info and wasting space in the log line.
2025-11-18 15:49:46 +09:00
Clemens Schwaighofer
592652cff1
Update logging with console output format changes
...
"console_format_type" with "normal", "condensed", "minimal" options
This sets the format of the console output, controlling the amount of detail shown.
normal show log title, file, function and line number
condensed show file and line number only
minimal shows only timestamp, log level and message
Default is normal
"console_iso_precision" with "seconds", "milliseconds", "microseconds" options
This sets the precision of the ISO timestamp in console logs.
Default is milliseconds
The timestamp output is now ISO8601 formatatted with time zone.
2025-11-18 15:31:16 +09:00
Clemens Schwaighofer
4e78d83092
Add checks for BOM encoding in files
2025-11-06 18:21:32 +09:00
Clemens Schwaighofer
c98c5df63c
Update datetime parse helper
...
Allow non T in isotime format, add non T normal datetime parsing
2025-11-06 13:24:27 +09:00
Clemens Schwaighofer
e8b4b9b48e
Add send email class
2025-10-27 11:19:38 +09:00
Clemens Schwaighofer
c5ab4352e3
Fix name dict_helper to dict_helpers
...
So we have the same name for everyhing
2025-10-27 10:40:12 +09:00
Clemens Schwaighofer
c7b38b0d70
Add ignore list for coverage (pytest), rename json default function to default_isoformat
2025-10-27 10:05:31 +09:00
Clemens Schwaighofer
2637e1e42c
Tests for requests handling
2025-10-24 19:00:07 +09:00
Clemens Schwaighofer
d0a1673965
Add pytest for logging
2025-10-24 18:33:25 +09:00
Clemens Schwaighofer
fb4fdb6857
iterator tests added
2025-10-24 16:36:42 +09:00
Clemens Schwaighofer
d642a13b6e
file handling tests, move progress to script handling
...
Progress is not only file, but process progress in a script
2025-10-24 16:07:47 +09:00
Clemens Schwaighofer
8967031f91
csv interface minor update to use the csv exceptions for errors
2025-10-24 15:45:09 +09:00
Clemens Schwaighofer
89caada4cc
debug handling pytests added
2025-10-24 15:44:51 +09:00
Clemens Schwaighofer
b3616269bc
csv writer to csv interface with reader class
...
But this is more for reference and should not be considered final
Missing things are like
- all values to private
- reader interface to parts
- value check for delimiter, quotechar, etc
2025-10-24 14:43:29 +09:00
Clemens Schwaighofer
a76eae0cc7
Add datetime helpers and move all time/date time datetime_handling folder
...
previous string_handling located datetime and timestamp files have been moved
to the datetime handling folder
Update readme file with more information about currently covered areas
2025-10-24 10:03:04 +09:00
Clemens Schwaighofer
53cf2a6f48
Add prepare_url_slash to string_helpers.py and tests
...
Function cleans up url paths (without domain) by ensuring they start with a single slash and removing double slashes.
2025-10-23 15:47:19 +09:00
Clemens Schwaighofer
fe69530b38
Add a simple add key entry to dictionary
2025-10-23 15:31:52 +09:00
Clemens Schwaighofer
84ce43ab93
Add SQLite IO class
...
This is a very basic class without many helper functions added yet
Add to the CoreLibs so when we develop it further it can be used by all projects
2025-10-23 15:22:12 +09:00
Clemens Schwaighofer
30bf9c1bcb
Add Enum base class
...
A helper class for handling enum classes with various lookup helpers
2025-10-23 13:47:13 +09:00
Clemens Schwaighofer
2544fad9ce
Add json helper function json_replace
...
Function can replace content for a json path string in a dictionary
2025-10-23 13:20:40 +09:00
Clemens Schwaighofer
543e9766a1
Add symmetric encryption and tests
2025-10-23 11:47:41 +09:00
Clemens Schwaighofer
c1eda7305b
jmespath search, catch JMESPathTypeError error
...
This error can happend if we search for a key and try to make a value compare and the key does not exist.
Perhaps also when they key should return a list
2025-10-09 16:39:54 +09:00
Clemens Schwaighofer
f85fbb86af
Add iso datetime create with time zone support
...
The time zone check is for short mappings is limited, it is recommended
to use full TZ names like "Europe/Berlin", "Asia/Tokyo", "America/New_York"
2025-10-08 15:57:57 +09:00
Clemens Schwaighofer
7c5af588c7
Update the TimestampStrings zone info handling
...
time_zone is the string version of the time zone data
time_zone_zi is the ZoneInfo object of above
2025-09-25 15:53:26 +09:00
Clemens Schwaighofer
bb60a570d0
Change the TimestampStrings check to check for str instead of not ZoneInfo.
...
This fixes the pytest problem which threw:
TypeError: isinstance() arg 2 must be a type, a tuple of types, or a union
during Mocking
2025-09-25 15:36:47 +09:00
Clemens Schwaighofer
38bae7fb46
TimestampStrings allows ZoneInfo object as time_zone parameter
...
So we can use pre-parsed data
Some tests for parsing settings, timestamp output
2025-09-25 15:14:40 +09:00
Clemens Schwaighofer
ef5981b473
convert_to_seconds allow negative time strings and add pytests
2025-09-24 15:25:53 +09:00