1

38 lines
1.4 KiB
Python

from dataclasses import dataclass, field, fields
from typing import Dict, Optional
@dataclass
class HoudiniEnvironment:
script_debug: bool = field(default=True, metadata={"key": "HOUDINI_SCRIPT_DEBUG"})
"""If set, errors will be printed when loading dialog scripts and scripted operators."""
show_py_panel_errors_in_console: bool = field(
default=True, metadata={"key": "HOUDINI_CONSOLE_PYTHON_PANEL_ERROR"}
)
"""Errors when starting python panels will also be sent to the console, instead of just displaying them within the panel."""
pdg_node_debug_level: int = field(
default=3, metadata={"key": "HOUDINI_PDG_NODE_DEBUG"}
)
"""Determines if PDG should print out node status information during the cook.
1: Enable a status print out message each time a node finishes cooking
2: 1 + node error messages
3: Print node generation/cook status, errors and node warnings
4: 3 + print a message for each node callback invocation
"""
splash_message: Optional[str] = field(
default=None, metadata={"key": "HOUDINI_SPLASH_MESSAGE"}
)
"""Message shown on the splash screen"""
def to_dict(self) -> Dict[str, str]:
output: Dict[str, str] = {}
for obj_field in fields(self):
field_value = self.__dict__[obj_field.name]
if field_value:
output[obj_field.metadata["key"]] = str()
return output