38 lines
1.4 KiB
Python
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
|