diff --git a/glotaran/model/model.py b/glotaran/model/model.py index 08dd0868d..8595b0f61 100644 --- a/glotaran/model/model.py +++ b/glotaran/model/model.py @@ -363,8 +363,7 @@ def iterate_all_items(self) -> Generator[Item, None, None]: The individual item. """ for _, items in self.iterate_items(): - iter = items.values() if isinstance(items, dict) else items - yield from iter + yield from items.values() if isinstance(items, dict) else items def get_parameter_labels(self) -> set[str]: """Get all parameter labels. diff --git a/glotaran/parameter/parameters.py b/glotaran/parameter/parameters.py index b44e7e0ca..79b868f17 100644 --- a/glotaran/parameter/parameters.py +++ b/glotaran/parameter/parameters.py @@ -204,23 +204,22 @@ def to_parameter_dict_or_list(self) -> dict | list: dict | list A dict or list of parameter definitions. """ - if any("." in p.label for p in self.all()): - parameter_dict: dict[str, Any] = {} - for parameter in self.all(): - path = parameter.label.split(".") - nodes = path[:-2] - node = parameter_dict - for n in nodes: - if n not in node: - node[n] = {} - node = node[n] - upper_node = path[-2] - if upper_node not in node: - node[upper_node] = [] - node[upper_node].append(parameter) - return parameter_dict - else: + if all("." not in p.label for p in self.all()): return list(self.all()) + parameter_dict: dict[str, Any] = {} + for parameter in self.all(): + path = parameter.label.split(".") + nodes = path[:-2] + node = parameter_dict + for n in nodes: + if n not in node: + node[n] = {} + node = node[n] + upper_node = path[-2] + if upper_node not in node: + node[upper_node] = [] + node[upper_node].append(parameter) + return parameter_dict def set_from_history(self, history: ParameterHistory, index: int): """Update the :class:`Parameters` with values from a parameter history.