Skip to content

Commit

Permalink
FF-343 #comment submit4dn changes
Browse files Browse the repository at this point in the history
  • Loading branch information
KorayKirli committed Nov 3, 2016
1 parent 1590173 commit f365b5a
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 28 deletions.
5 changes: 5 additions & 0 deletions wranglertools/fdnDCIC.py
Expand Up @@ -242,6 +242,11 @@ def fetch_all_items(sheet, field_list, connection):
for item in items_list:
item_info = []
for field in field_list:
# required fields will have a star
field = field.strip('*')
# in case we ever want to have experiment sets in experiment
# this will put all exeperiment sets in the others category
field = field.replace("|3", "")
if field == "#Field Name:":
item_info.append("#")
else:
Expand Down
57 changes: 29 additions & 28 deletions wranglertools/get_field_info.py
Expand Up @@ -126,35 +126,36 @@ def build_field_list(properties, required_fields=None, include_description=False
for name, props in properties.items():
is_member_of_array_of_objects = False
if not props.get('calculatedProperty', False):
if is_subobject(props):
if get_field_type(props).startswith('array'):
is_member_of_array_of_objects = True
fields.extend(build_field_list(props['items']['properties'],
required_fields,
include_description,
include_comment,
include_enums,
name,
is_member_of_array_of_objects)
)
else:
field_name = dotted_field_name(name, parent)
if required_fields is not None:
if field_name in required_fields:
field_name = '*' + field_name
field_type = get_field_type(props)
if is_submember:
field_type = "array of embedded objects, " + field_type
desc = '' if not include_description else props.get('description', '')
comm = '' if not include_comment else props.get('comment', '')
enum = '' if not include_enums else props.get('enum', '')
# copy paste exp set for ease of keeping track of different types in experiment objects
if field_name == 'experiment_sets':
set_types = ['Technical Replicates', 'Biological Replicates', 'Analysis Set', 'Others']
for num, set_type in enumerate(set_types):
fields.append(FieldInfo(field_name+"|"+str(num), field_type, desc, set_type, enum))
if not props.get('exclude_from', False) == 'submit4dn':
if is_subobject(props):
if get_field_type(props).startswith('array'):
is_member_of_array_of_objects = True
fields.extend(build_field_list(props['items']['properties'],
required_fields,
include_description,
include_comment,
include_enums,
name,
is_member_of_array_of_objects)
)
else:
fields.append(FieldInfo(field_name, field_type, desc, comm, enum))
field_name = dotted_field_name(name, parent)
if required_fields is not None:
if field_name in required_fields:
field_name = '*' + field_name
field_type = get_field_type(props)
if is_submember:
field_type = "array of embedded objects, " + field_type
desc = '' if not include_description else props.get('description', '')
comm = '' if not include_comment else props.get('comment', '')
enum = '' if not include_enums else props.get('enum', '')
# copy paste exp set for ease of keeping track of different types in experiment objects
if field_name == 'experiment_sets':
set_types = ['Technical Replicates', 'Biological Replicates', 'Analysis Set', 'Others']
for num, set_type in enumerate(set_types):
fields.append(FieldInfo(field_name+"|"+str(num), field_type, desc, set_type, enum))
else:
fields.append(FieldInfo(field_name, field_type, desc, comm, enum))
return fields


Expand Down

0 comments on commit f365b5a

Please sign in to comment.