From 4f794ef5ff7b5a068a568056d2bfd7372ec9b57c Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 11 Mar 2015 21:59:28 +0100 Subject: [PATCH] fix(types): fix incorrect nested type names There was a name-duplication which led to un-inmplemented types. The good thing is that this was the last issue that kept all 72 APIs from compiling. --- src/mako/lib/util.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mako/lib/util.py b/src/mako/lib/util.py index b4e92cfec6..f3d8c97637 100644 --- a/src/mako/lib/util.py +++ b/src/mako/lib/util.py @@ -255,7 +255,8 @@ def canonical_type_name(s): return capitalize(s) def nested_type_name(sn, pn): - return sn + canonical_type_name(pn) + suffix = canonical_type_name(pn) + return sn + suffix # Make properties which are reserved keywords usable def mangle_ident(n): @@ -633,7 +634,7 @@ def new_context(schemas, resources): rs = s # end this is already a perfectly valid type - properties = s.get('properties', {rs.id: s}) + properties = s.get('properties', {'': s}) for pn, p in properties.iteritems(): link_used(p, rs) if is_nested_type_property(p): @@ -645,12 +646,13 @@ def new_context(schemas, resources): if 'items' in p: ns.update((k, deepcopy(v)) for k, v in p.items.iteritems()) - recurse_properties(nested_type_name(prefix, pn), ns, ns, append_unique(parent_ids, rs.id)) + recurse_properties(ns.id, ns, ns, append_unique(parent_ids, rs.id)) elif _is_map_prop(p): - recurse_properties(nested_type_name(prefix, pn), rs, p.additionalProperties, append_unique(parent_ids, rs.id)) + recurse_properties(nested_type_name(prefix, pn), rs, + p.additionalProperties, append_unique(parent_ids, rs.id)) elif 'items' in p: - # it's an array - recurse_properties(nested_type_name(prefix, pn), rs, p.items, append_unique(parent_ids, rs.id)) + recurse_properties(nested_type_name(prefix, pn), rs, + p.items, append_unique(parent_ids, rs.id)) # end handle prop itself # end for each property # end utility