Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db6a3b53c5 | ||
|
|
82b089498e | ||
|
|
948b0dd5e7 | ||
|
|
4acc0b51b1 | ||
|
|
a626b738a9 |
@@ -1,7 +1,7 @@
|
|||||||
# MARK: Project info
|
# MARK: Project info
|
||||||
[project]
|
[project]
|
||||||
name = "corelibs"
|
name = "corelibs"
|
||||||
version = "0.12.6"
|
version = "0.13.1"
|
||||||
description = "Collection of utils for Python scripts"
|
description = "Collection of utils for Python scripts"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.13"
|
requires-python = ">=3.13"
|
||||||
|
|||||||
@@ -258,6 +258,12 @@ class SettingsLoader:
|
|||||||
self.__build_from_to_equal(entry, check)
|
self.__build_from_to_equal(entry, check)
|
||||||
):
|
):
|
||||||
error = True
|
error = True
|
||||||
|
# after post clean up if we have empty entries and we are mandatory
|
||||||
|
if check == "mandatory:yes" and (
|
||||||
|
not settings[config_id].get(entry) or settings[config_id].get(entry) == ['']
|
||||||
|
):
|
||||||
|
error = True
|
||||||
|
self.__print(f"[!] Missing content entry for: {entry}", 'ERROR')
|
||||||
if error is True:
|
if error is True:
|
||||||
raise ValueError(self.__print("[!] Missing or incorrect settings data. Cannot proceed", 'CRITICAL'))
|
raise ValueError(self.__print("[!] Missing or incorrect settings data. Cannot proceed", 'CRITICAL'))
|
||||||
# set empty
|
# set empty
|
||||||
|
|||||||
@@ -49,6 +49,32 @@ class SettingsLoaderCheck:
|
|||||||
"regex_clean": None,
|
"regex_clean": None,
|
||||||
"replace": "",
|
"replace": "",
|
||||||
},
|
},
|
||||||
|
# Domain check, including localhost no port
|
||||||
|
"string.domain.with-localhost": {
|
||||||
|
"regex": r"^(?:localhost|(?!-)[A-Za-z0-9-]{1,63}(?<!-)(?:\.[A-Za-z0-9-]{1,63}(?<!-))*\.[A-Za-z]{2,})$",
|
||||||
|
"regex_clean": None,
|
||||||
|
"replace": "",
|
||||||
|
},
|
||||||
|
# Domain check, with localhost and port
|
||||||
|
"string.domain.with-localhost.port": {
|
||||||
|
"regex": r"""
|
||||||
|
^(?:localhost|(?!-)[A-Za-z0-9-]{1,63}(?<!-)(?:\.[A-Za-z0-9-]{1,63}(?<!-))*\.[A-Za-z]{2,})(?::\d+)?$
|
||||||
|
""",
|
||||||
|
"regex_clean": None,
|
||||||
|
"replace": "",
|
||||||
|
},
|
||||||
|
# Domain check, no pure localhost allowed
|
||||||
|
"string.domain": {
|
||||||
|
"regex": r"^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(?:\.[A-Za-z0-9-]{1,63}(?<!-))*\.[A-Za-z]{2,}$",
|
||||||
|
"regex_clean": None,
|
||||||
|
"replace": "",
|
||||||
|
},
|
||||||
|
# Basic date check, does not validate date itself
|
||||||
|
"string.date": {
|
||||||
|
"regex": r"^\d{4}[/-]\d{1,2}[/-]\d{1,2}$",
|
||||||
|
"regex_clean": None,
|
||||||
|
"replace": "",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,12 @@
|
|||||||
Settings loader test
|
Settings loader test
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import re
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from corelibs.iterator_handling.dump_data import dump_data
|
from corelibs.debug_handling.dump_data import dump_data
|
||||||
from corelibs.logging_handling.log import Log
|
from corelibs.logging_handling.log import Log
|
||||||
from corelibs.config_handling.settings_loader import SettingsLoader
|
from corelibs.config_handling.settings_loader import SettingsLoader
|
||||||
|
from corelibs.config_handling.settings_loader_handling.settings_loader_check import SettingsLoaderCheck
|
||||||
|
|
||||||
SCRIPT_PATH: Path = Path(__file__).resolve().parent
|
SCRIPT_PATH: Path = Path(__file__).resolve().parent
|
||||||
ROOT_PATH: Path = SCRIPT_PATH
|
ROOT_PATH: Path = SCRIPT_PATH
|
||||||
@@ -18,6 +20,11 @@ def main():
|
|||||||
Main run
|
Main run
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
value = "2025/1/1"
|
||||||
|
regex_c = re.compile(SettingsLoaderCheck.CHECK_SETTINGS['string.date']['regex'], re.VERBOSE)
|
||||||
|
result = regex_c.search(value)
|
||||||
|
print(f"regex {regex_c} check against {value} -> {result}")
|
||||||
|
|
||||||
# for log testing
|
# for log testing
|
||||||
script_path: Path = Path(__file__).resolve().parent
|
script_path: Path = Path(__file__).resolve().parent
|
||||||
log = Log(
|
log = Log(
|
||||||
|
|||||||
Reference in New Issue
Block a user