X-Git-Url: https://mudpy.org/gitweb?a=blobdiff_plain;f=lib%2Fmudpy%2Fmisc.py;h=c6fd97dc3a348f0ffd8be16d3b3e51f6acc3d476;hb=663fb8ae963c7e09ac96b74e690a6f63ab336ad5;hp=1f3909b2af0897e60f39737c4ae45dd3d1d0c26f;hpb=ad96910b193b4033d456ecc5d54acacf37129bad;p=mudpy.git diff --git a/lib/mudpy/misc.py b/lib/mudpy/misc.py index 1f3909b..c6fd97d 100644 --- a/lib/mudpy/misc.py +++ b/lib/mudpy/misc.py @@ -104,7 +104,7 @@ class Element: if self.origin._format == "yaml": try: return self.origin.data[self.key].keys() - except KeyError: + except (AttributeError, KeyError): return [] else: if self.key in self.origin.data.sections(): @@ -143,7 +143,7 @@ class Element: if self.origin._format == "yaml": try: return self.origin.data[self.key][facet] - except KeyError: + except (KeyError, TypeError): pass if self.has_facet("inherit"): for ancestor in self.ancestry(): @@ -224,7 +224,10 @@ class Element: default = [] value = self.get(facet) if value: - return mudpy.data.makelist(value) + if type(value) is list: + return value + else: + return mudpy.data.makelist(value) else: return default @@ -234,7 +237,10 @@ class Element: default = {} value = self.get(facet) if value: - return mudpy.data.makedict(value) + if type(value) is dict: + return value + else: + return mudpy.data.makedict(value) else: return default