Unfreeze datastructures

This commit is contained in:
Tom 2025-02-24 13:24:33 +00:00
parent ef844c9b57
commit 162dd48748
3 changed files with 4 additions and 4 deletions

View File

@ -16,7 +16,7 @@ from .tree_formatters import (
from .value_types import QEnum, Values, values_from_json from .value_types import QEnum, Values, values_from_json
@dataclass(frozen=True, eq=True, order=True) @dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
class Qube: class Qube:
data: NodeData data: NodeData
children: tuple['Qube', ...] children: tuple['Qube', ...]

View File

@ -6,7 +6,7 @@ from frozendict import frozendict
from .value_types import Values from .value_types import Values
@dataclass(frozen=True, eq=True, order=True) @dataclass(frozen=False, eq=True, order=True, unsafe_hash=True)
class NodeData: class NodeData:
key: str key: str
values: Values values: Values
@ -15,7 +15,7 @@ class NodeData:
def summary(self) -> str: def summary(self) -> str:
return f"{self.key}={self.values.summary()}" if self.key != "root" else "root" return f"{self.key}={self.values.summary()}" if self.key != "root" else "root"
@dataclass(frozen=True, eq=True, order=True) @dataclass(frozen=False, eq=True, order=True)
class RootNodeData(NodeData): class RootNodeData(NodeData):
"Helper class to print a custom root name" "Helper class to print a custom root name"
def summary(self) -> str: def summary(self) -> str:

View File

@ -38,8 +38,8 @@ class Values(ABC):
T = TypeVar("T") T = TypeVar("T")
EnumValuesType = FrozenSet[T] EnumValuesType = FrozenSet[T]
@dataclass(frozen=True, order=True)
@dataclass(frozen=True, order=True)
class QEnum(Values): class QEnum(Values):
""" """
The simplest kind of key value is just a list of strings. The simplest kind of key value is just a list of strings.