Skip to content

Commit ce65f38

Browse files
committed
[#90] Implement new style template generation for titles
1 parent 83ff7c0 commit ce65f38

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

flattentool/schema.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,10 @@ def parse_schema_dict(self, parent_path, schema_dict, parent_id_fields=None, tit
106106
title_lookup = self.title_lookup if title_lookup is None else title_lookup
107107
if 'properties' in schema_dict:
108108
if 'id' in schema_dict['properties']:
109-
id_fields = parent_id_fields + [parent_path+'id']
109+
if self.use_titles:
110+
id_fields = parent_id_fields + [parent_path+(schema_dict['properties']['id'].get('title') or 'id')]
111+
else:
112+
id_fields = parent_id_fields + [parent_path+'id']
110113
else:
111114
id_fields = parent_id_fields
112115

@@ -168,10 +171,12 @@ def parse_schema_dict(self, parent_path, schema_dict, parent_id_fields=None, tit
168171

169172
for field, child_title in fields:
170173
if self.use_titles:
171-
if not child_title:
174+
if not child_title or not title:
172175
warn('Field {} does not have a title, skipping.'.format(field))
173176
else:
174-
sub_sheet.add_field(child_title)
177+
# This code only works for arrays that are at 0 or 1 layer of nesting
178+
assert len(parent_path.split('/')) <= 2
179+
sub_sheet.add_field(title+':'+child_title)
175180
else:
176181
sub_sheet.add_field(parent_path+property_name+'/'+field)
177182
if self.rollup and 'rollUp' in property_schema_dict and field in property_schema_dict['rollUp']:

0 commit comments

Comments
 (0)