diff --git a/redbaron/base_nodes.py b/redbaron/base_nodes.py index f681a9bc..69b91676 100644 --- a/redbaron/base_nodes.py +++ b/redbaron/base_nodes.py @@ -331,8 +331,15 @@ def __init__(self, initlist=None, parent=None, on_attribute=None): @classmethod def from_fst(klass, node_list, parent=None, on_attribute=None): - return klass(map(lambda x: Node.from_fst(x, parent=parent, on_attribute=on_attribute), node_list), - parent=parent, on_attribute=on_attribute) + # return klass(map(lambda x: Node.from_fst(x, parent=parent, on_attribute=on_attribute), node_list), + # parent=parent, on_attribute=on_attribute) + try: + return klass(map(lambda x: Node.from_fst(x, parent=parent, on_attribute=on_attribute), node_list), + parent=parent, on_attribute=on_attribute) + except: + return klass(map(lambda x: Node.from_fst(x, parent=parent, on_attribute=on_attribute), node_list[0]), + parent=parent, on_attribute=on_attribute) + def find(self, identifier, *args, **kwargs): for i in self.data: