From 5bfd23d73e879e38ce3ce386bd9aadaf2393abe9 Mon Sep 17 00:00:00 2001 From: OMGeeky Date: Sun, 12 May 2024 23:56:24 +0200 Subject: [PATCH] fix some errors where some stuff does not exist all apis libs build now --- src/generator/lib/enum_utils.py | 21 +++++++++++++++++---- src/generator/templates/api/lib/enum.mako | 9 ++++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/generator/lib/enum_utils.py b/src/generator/lib/enum_utils.py index c00d57d319..a958209698 100644 --- a/src/generator/lib/enum_utils.py +++ b/src/generator/lib/enum_utils.py @@ -75,11 +75,24 @@ def find_enums_in_context(c: Context) -> list: enums = {} for k, s in c.schemas.items(): if UNUSED_TYPE_MARKER not in schema_markers(s, c, transitive=True): - # properties = s.get('properties') + properties = s.get('properties') # printed_name = False - if s.properties: - for pv, pk in zip(s.properties.values(), s.properties.keys()): - enums = _add_enum_value(k, pk, pv, enums) + if properties: + try: + p = properties.to_dict() + vals = p.values() + keys = p.keys() + + for pv, pk in zip(vals, keys): + enums = _add_enum_value(k, pk, pv, enums) + except TypeError as e: + print('exception in find_enums_in_context:', e) + print('k:', k) + print('s:', s) + print('props:', properties) + print('props type:', type(properties)) + # print('c:', c) + raise e for k, v in c.fqan_map.items(): # print(k) diff --git a/src/generator/templates/api/lib/enum.mako b/src/generator/templates/api/lib/enum.mako index 82ff855d55..1daa2232e7 100644 --- a/src/generator/templates/api/lib/enum.mako +++ b/src/generator/templates/api/lib/enum.mako @@ -75,7 +75,14 @@ impl Default for Scope { /// ${e.description} % endif pub enum ${enum_type} { -% for (variant_name,description) in zip(e.get('enum'), e.get('enumDescriptions')): +<% +enum_names = e.get('enum') +enum_descriptions = e.get('enumDescriptions') +if not enum_descriptions: + enum_descriptions = ['no description found'] * len(enum_names) + +%>\ +% for (variant_name,description) in zip(enum_names, enum_descriptions): <% #print(variant_name, '=>', description) %> % if description: