yet another processing refactor :3 Mostly works
This commit is contained in:
@@ -163,6 +163,39 @@ def sanitize_filename(name: str) -> str:
|
||||
if not name: name = "invalid_name"
|
||||
return name
|
||||
|
||||
def get_filename_friendly_map_type(internal_map_type: str, file_type_definitions: Optional[Dict[str, Dict]]) -> str:
|
||||
"""Derives a filename-friendly map type from the internal map type."""
|
||||
filename_friendly_map_type = internal_map_type # Fallback
|
||||
if not file_type_definitions or not isinstance(file_type_definitions, dict) or not file_type_definitions:
|
||||
logger.warning(f"Filename-friendly lookup: FILE_TYPE_DEFINITIONS not available or invalid. Falling back to internal type: {internal_map_type}")
|
||||
return filename_friendly_map_type
|
||||
|
||||
base_map_key_val = None
|
||||
suffix_part = ""
|
||||
# Sort keys by length descending to match longest prefix first (e.g., MAP_ROUGHNESS before MAP_ROUGH)
|
||||
sorted_known_base_keys = sorted(list(file_type_definitions.keys()), key=len, reverse=True)
|
||||
|
||||
for known_key in sorted_known_base_keys:
|
||||
if internal_map_type.startswith(known_key):
|
||||
base_map_key_val = known_key
|
||||
suffix_part = internal_map_type[len(known_key):]
|
||||
break
|
||||
|
||||
if base_map_key_val:
|
||||
definition = file_type_definitions.get(base_map_key_val)
|
||||
if definition and isinstance(definition, dict):
|
||||
standard_type_alias = definition.get("standard_type")
|
||||
if standard_type_alias and isinstance(standard_type_alias, str) and standard_type_alias.strip():
|
||||
filename_friendly_map_type = standard_type_alias.strip() + suffix_part
|
||||
logger.debug(f"Filename-friendly lookup: Transformed '{internal_map_type}' -> '{filename_friendly_map_type}'")
|
||||
else:
|
||||
logger.warning(f"Filename-friendly lookup: Standard type alias for '{base_map_key_val}' is missing or invalid. Falling back.")
|
||||
else:
|
||||
logger.warning(f"Filename-friendly lookup: No valid definition for '{base_map_key_val}'. Falling back.")
|
||||
else:
|
||||
logger.warning(f"Filename-friendly lookup: Could not parse base key from '{internal_map_type}'. Falling back.")
|
||||
|
||||
return filename_friendly_map_type
|
||||
# --- Basic Unit Tests ---
|
||||
if __name__ == "__main__":
|
||||
print("Running basic tests for path_utils.generate_path_from_pattern...")
|
||||
|
||||
Reference in New Issue
Block a user