Skip to content

Commit

Permalink
Merge branch 'master' into FF-338 resolve conflicts
Browse files Browse the repository at this point in the history
# Conflicts:
#	wranglertools/get_field_info.py
  • Loading branch information
KorayKirli committed Nov 3, 2016
2 parents 549db81 + cf93eaf commit 348d86e
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 32 deletions.
5 changes: 5 additions & 0 deletions wranglertools/fdnDCIC.py
Expand Up @@ -243,6 +243,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
65 changes: 33 additions & 32 deletions wranglertools/get_field_info.py
Expand Up @@ -126,39 +126,40 @@ 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', '')
# if array of string with enum
if field_type == "array of strings":
sub_props = props.get('items', '')
enum = '' if not include_enums else sub_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', '')
# if array of string with enum
if field_type == "array of strings":
sub_props = props.get('items', '')
enum = '' if not include_enums else sub_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 348d86e

Please sign in to comment.