]> git.donarmstrong.com Git - lilypond.git/commitdiff
Don't crash when a score does not have an explicit key or clef set (e.g. Rosegarden...
authorReinhold Kainhofer <reinhold@kainhofer.com>
Sun, 19 Aug 2007 21:58:27 +0000 (23:58 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 20 Aug 2007 03:35:14 +0000 (00:35 -0300)
python/musicxml.py
scripts/musicxml2ly.py

index 304b2c62d246a8ee993d97c9a21e090e0e46f817..e7fe77d69977de9fb6606964c3805f192a0a27ea 100644 (file)
@@ -39,10 +39,13 @@ class Xml_node:
             p = p.get_parent ()
         
     def get_typed_children (self, klass):
-       return [c for c in self._children if isinstance(c, klass)]
+        if not klass:
+            return []
+        else:
+            return [c for c in self._children if isinstance(c, klass)]
 
     def get_named_children (self, nm):
-       return self.get_typed_children (class_dict[nm])
+       return self.get_typed_children (class_dict.get (nm))
 
     def get_named_child (self, nm):
        return self.get_maybe_exist_named_child (nm)
index a82f3dd097bd53ad8d9be2717e3f10ebc8df6d58..4bb3081558032836ceb929f3587f01cce3dfcaf7 100644 (file)
@@ -131,10 +131,10 @@ def musicxml_attributes_to_lily (attrs):
         'key': musicxml_key_to_lily
     }
     for (k, func) in attr_dispatch.items ():
-        childs = attrs.get_named_children (k)
+        children = attrs.get_named_children (k)
 
         ## ugh: you get clefs spread over staves for piano
-        if childs:
+        if children:
             elts.append (func (attrs))
     
     return elts