mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 12:21:35 +00:00
Match ENUM fields and descriptions (#1340)
This commit is contained in:
@@ -111,6 +111,7 @@ def build_schemas(svc=None, sfilter=None):
|
|||||||
'description': schema.get('policyDescription', ''),
|
'description': schema.get('policyDescription', ''),
|
||||||
'settings': {},
|
'settings': {},
|
||||||
}
|
}
|
||||||
|
field_descriptions = schema.get('fieldDescriptions', [])
|
||||||
for mtype in schema.get('definition', {}).get('messageType', {}):
|
for mtype in schema.get('definition', {}).get('messageType', {}):
|
||||||
for setting in mtype.get('field', {}):
|
for setting in mtype.get('field', {}):
|
||||||
setting_name = setting.get('name', '')
|
setting_name = setting.get('name', '')
|
||||||
@@ -133,13 +134,16 @@ def build_schemas(svc=None, sfilter=None):
|
|||||||
setting_dict['enums'] = [enum[prefix_len:] for enum \
|
setting_dict['enums'] = [enum[prefix_len:] for enum \
|
||||||
in setting_dict['enums'] \
|
in setting_dict['enums'] \
|
||||||
if not enum.endswith('UNSPECIFIED')]
|
if not enum.endswith('UNSPECIFIED')]
|
||||||
break
|
setting_dict['descriptions'] = ['']*len(setting_dict['enums'])
|
||||||
for fdesc in schema.get('fieldDescriptions', []):
|
if field_descriptions:
|
||||||
|
for i, an in enumerate(setting_dict['enums']):
|
||||||
|
for fdesc in field_descriptions:
|
||||||
if fdesc.get('field') == setting_name:
|
if fdesc.get('field') == setting_name:
|
||||||
setting_dict['descriptions'] = [d['description'] \
|
for d in fdesc.get('knownValueDescriptions', []):
|
||||||
for d in \
|
if d['value'][prefix_len:] == an:
|
||||||
fdesc.get('knownValueDescriptions', \
|
setting_dict['descriptions'][i] = d['description']
|
||||||
[])]
|
break
|
||||||
|
break
|
||||||
break
|
break
|
||||||
elif setting_dict['type'] == 'TYPE_MESSAGE':
|
elif setting_dict['type'] == 'TYPE_MESSAGE':
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user