Remove all class vars for vars that are only used in the loader itsef
- entry_split_char
- entry_convert
- entry_set_empty
The self.settings varr was never used, removed
The config file path exists check is moved to the config data loader
The internal _check_settings_abort is now __check_settings_abort to make it private
lock file updates
Changed that we call stop_listener and not _cleanup on exit
Then call _cleanup from the stop listener
We only need that if we have listeners (queue) anyway
Any float number will be rounded, and everything that is any kind of number will be then converted to int and returned
The rest will be converted to string and normal convert is run
array_search name is deprecated
use find_in_array_from_list
- change parameter order
data (search in) comes before search_params list
- created a TypedDict for the array search params dict entry
It now works correct with start and skip_last settings, the method is now called "call_stack"
Also added auto reset if no output (start too hight) and optional stack separator
It now goes recursive, is case insenstivie for keys and mask keys requests
Checks not for equal but for start/end or inside with edge character set
pytests added
When calling log.exception it automatically writes a short message to the console as error
This error message is tagged <=EXCEPTION> and contains only the message without the stack trace
Settings loader: all errors are thrown where the error happens and not in the print function
The print function if to log will add +1 to the stack level so the error is shown
In the log class in the log wrapper calls add +1 to the stack level to have the error line in the correct place
-> this fixes the stack trace part for now but we still want to have an auto full stack trace simple added
In the settings checker, if a regex_clean is set as None then we will abort the script with error
if the regex is not matching
Add regex check for email basic
Also add a regex_constants list with regex entries (not compiled and compiled)
Add flush for queue flushing
Add set/get level for handler
Allow adding handlers during launch, handlers cannot be added afterwards at the moment
Add testing for LoggingLevel enum
list_helpers:
convert to list, any input, output is always a list
compare to lists, check what elements from A are not in B, type safe
string helpers
add is_int, is_float checker
add string to bool converter for true/True/false/False strings
config reader with parsing and checking
The simple config reader is now in the corelibs with the basic content check, convert to list for entries, convert to value for entries, etc
log updates:
Add Log type Enum for better log level checks and convert
Add a get int for requested log level, and return default if not found
Make the validate log level a static function
Add tests for list helpers and new string helpers