Cleanup .pyc and .DS_Store, add new modules, remove legacy services
This commit is contained in:
44
common/utils/dynamic_field_utils.py
Normal file
44
common/utils/dynamic_field_utils.py
Normal file
@@ -0,0 +1,44 @@
|
||||
def create_default_config_from_type_config(type_config):
|
||||
"""
|
||||
Creëert een dictionary met standaardwaarden gebaseerd op een typedefinitie configuratie.
|
||||
|
||||
Args:
|
||||
type_config (dict): Het configuration-veld van een typedefinitie (bijv. uit processor_types).
|
||||
|
||||
Returns:
|
||||
dict: Een dictionary met de naam van ieder veld als sleutel en de standaardwaarde als waarde.
|
||||
Alleen velden met een standaardwaarde of die verplicht zijn, worden opgenomen.
|
||||
|
||||
Voorbeeld:
|
||||
>>> config = PROCESSOR_TYPES["HTML_PROCESSOR"]["configuration"]
|
||||
>>> create_default_config_from_type_def(config)
|
||||
{'html_tags': 'p, h1, h2, h3, h4, h5, h6, li, table, thead, tbody, tr, td',
|
||||
'html_end_tags': 'p, li, table',
|
||||
'html_excluded_classes': '',
|
||||
'html_excluded_elements': 'header, footer, nav, script',
|
||||
'html_included_elements': 'article, main',
|
||||
'chunking_heading_level': 2}
|
||||
"""
|
||||
if not type_config:
|
||||
return {}
|
||||
|
||||
default_config = {}
|
||||
|
||||
for field_name, field_def in type_config.items():
|
||||
# Als het veld een standaardwaarde heeft, voeg deze toe
|
||||
if "default" in field_def:
|
||||
default_config[field_name] = field_def["default"]
|
||||
# Als het veld verplicht is maar geen standaardwaarde heeft, voeg een lege string toe
|
||||
elif field_def.get("required", False):
|
||||
# Kies een geschikte "lege" waarde op basis van het type
|
||||
field_type = field_def.get("type", "string")
|
||||
if field_type == "string":
|
||||
default_config[field_name] = ""
|
||||
elif field_type == "integer":
|
||||
default_config[field_name] = 0
|
||||
elif field_type == "boolean":
|
||||
default_config[field_name] = False
|
||||
else:
|
||||
default_config[field_name] = ""
|
||||
|
||||
return default_config
|
||||
Reference in New Issue
Block a user