Clemens Schwaighofer
28527990e9
Move progres and script helpers to corelibs-progress and corelibs-script
2026-02-06 15:55:26 +09:00
Clemens Schwaighofer
b58a26f79a
Move all string support functions to corelibs_strings and other modules
2026-02-06 08:49:44 +09:00
Clemens Schwaighofer
f265b55ef8
Move requests handling to corelibs_requests module
2026-02-04 14:55:39 +09:00
Clemens Schwaighofer
85063ea5df
Move iterator handling functions to corelibs_iterator, corelibs_hash and corelibs_dump_data modules
...
Deprecate math helpers in favor of built-in math functions
2026-02-03 18:58:28 +09:00
Clemens Schwaighofer
31086fea53
Move json_handling to corelibs_json module
2026-02-03 14:03:17 +09:00
Clemens Schwaighofer
fd956095de
Move SymmetricEncryption to corelibs_encryption module
2026-02-03 13:32:18 +09:00
Clemens Schwaighofer
a046d9f84c
Move file handling to corelibs_file module
2026-02-03 11:42:57 +09:00
Clemens Schwaighofer
2e0d5aeb51
Move all debug handling into their own packages
...
dump data: corelibs_dump_data
stack trace: corelibs_stack_trace
profiling, timing, etc: corelibs_debug
2026-02-03 10:48:59 +09:00
Clemens Schwaighofer
28ab7c6f0c
Move regex checks to corelibs_regex_checks module
2026-02-02 14:56:07 +09:00
Clemens Schwaighofer
5319a059ad
Update the caller class
...
- has now ErrorResponse return values instead of None on errors
- changed parameter cafile to ca_file and its position in the init method
- Proxy has ProxyConfig Typed Dict format
Tests updates to reflect those changes
2026-01-30 18:17:41 +09:00
Clemens Schwaighofer
82a759dd21
Fix fingerprint with mixed int and str keys
...
Create a fallback hash function to handle mixed key types in dictionaries
and lists, ensuring consistent hashing across different data structures.
Fallback called is prefixed with "HO_" to indicate its usage.
2026-01-27 15:59:38 +09:00
Clemens Schwaighofer
1a978f786d
Add a list helper to create unique list of dictionaries and tests for it.
2026-01-27 14:42:19 +09:00
Clemens Schwaighofer
84286593f6
Log fix bug where log consosle format set to None would throw an exception
...
Also add prefix "[SettingsLoader] " to print statements in SettingsLoader if we do not write to log
2026-01-23 15:14:31 +09:00
Clemens Schwaighofer
7da18e0f00
Moved the compiled regex patterns to a new file regex_constants_compiled
...
So we do not force the compiled build if not needed
2026-01-09 16:15:38 +09:00
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
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
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
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
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
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
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
caf0039de4
script handling and string handling
2025-10-24 21:19:41 +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
07e5d23f72
Add jmespath tests
2025-10-24 16:47:46 +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
89caada4cc
debug handling pytests added
2025-10-24 15:44:51 +09:00
Clemens Schwaighofer
4fa22813ce
Add tests for settings loader
2025-10-24 14:19:05 +09:00
Clemens Schwaighofer
3ee3a0dce0
Tests for check_handling/regex_constants
2025-10-24 13:45:46 +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
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
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