def object_identifiers_processing(object_identifiers): if object_identifiers is not None: revised_object_identifiers = [] for identifier in object_identifiers: revised_identifier = { "id": identifier['id'] if 'id' in identifier else None, "identifier_value": identifier['identifier_value'] if 'identifier_value' in identifier else None, "identifier_type": name_selection(identifier['identifier_type']) if 'identifier_type' in identifier else None, "identifier_date": identifier['identifier_date'] if 'identifier_date' in identifier else None, "identifier_org": name_selection(identifier['identifier_org']) if 'identifier_org' in identifier else None } revised_object_identifiers.append(revised_identifier) return revised_object_identifiers else: return None
def object_topics_processing(object_topics): if object_topics is not None: revised_object_topics = [] for topic in object_topics: revised_topic = { "id": topic['id'] if 'id' in topic else None, "topic_type": name_selection(topic['topic_type']) if 'topic_type' in topic else None, "mesh_coded": topic['mesh_coded'] if 'mesh_coded' in topic else None, "topic_code": topic['topic_code'] if 'topic_code' in topic else None, "topic_value": topic['topic_value'] if 'topic_value' in topic else None, "topic_qualcode": topic['topic_qualcode'] if 'topic_qualcode' in topic else None, "topic_qualvalue": topic['topic_qualvalue'] if 'topic_qualvalue' in topic else None, "original_value": topic['original_value'] if 'original_value' in topic else None } revised_object_topics.append(revised_topic) return revised_object_topics else: return None
def object_contributors_processing(object_contributors): if object_contributors is not None: revised_object_contributors = [] for contrib in object_contributors: person = None if 'person' in contrib and contrib['person'] is not None: person = { "family_name": contrib['person']['family_name'] if 'family_name' in contrib['person'] else None, "given_name": contrib['person']['given_name'] if 'given_name' in contrib['person'] else None, "full_name": contrib['person']['full_name'] if 'full_name' in contrib['person'] else None, "orcid": contrib['person']['orcid'] if 'orcid' in contrib['person'] else None, "affiliation": contrib['person']['affiliation'] if 'affiliation' in contrib['person'] else None } revised_contributor = { "id": contrib['id'] if 'id' in contrib else None, "contribution_type": name_selection(contrib['contribution_type']) if 'contribution_type' in contrib else None, "is_individual": contrib['is_individual'] if 'is_individual' in contrib else None, "organisation": name_selection(contrib['organisation']) if 'organisation' in contrib else None, "person": person } revised_object_contributors.append(revised_contributor) return revised_object_contributors else: return None
def object_instances_processing(object_instances): if object_instances is not None: revised_instances = [] for instance in object_instances: access_details = None if 'access_details' in instance and instance[ 'access_details'] is not None: access_details = { "direct_access": instance['access_details']['direct_access'] if 'direct_access' in instance['access_details'] else None, "url": instance['access_details']['url'] if 'url' in instance['access_details'] else None, "url_last_checked": instance['access_details']['url_last_checked'] if 'url_last_checked' in instance['access_details'] else None } resource_details = None if 'resource_details' in instance and instance[ 'resource_details'] is not None: resource_details = { "type_name": instance['resource_details']['type_name'] if 'type_name' in instance['resource_details'] else None, "size": instance['resource_details']['size'] if 'size' in instance['resource_details'] else None, "size_unit": instance['resource_details']['size_unit'] if 'size_unit' in instance['resource_details'] else None, "comments": instance['resource_details']['comments'] if 'comments' in instance['resource_details'] else None } revised_instance = { "id": instance['id'] if 'id' in instance else None, "repository_org": name_selection(instance['repository_org']) if 'repository_org' in instance else None, "access_details": access_details, "resource_details": resource_details } revised_instances.append(revised_instance) return revised_instances else: return None
def study_features_processing(study_features): if study_features is not None and study_features != '': revised_study_features = [] for feature in study_features: revised_feature = { "id": feature['id'] if 'id' in feature else None, "feature_type": name_selection(feature['feature_type']) if 'feature_type' in feature else None, "feature_value": name_selection(feature['feature_value']) if 'feature_value' in feature else None } revised_study_features.append(revised_feature) return revised_study_features else: return None
def study_identifiers_processing(study_identifiers): revised_study_identifiers = [] if study_identifiers is not None and study_identifiers != '': for ident in study_identifiers: identifier = { "id": ident['id'], "identifier_type": name_selection(ident['identifier_type']), "identifier_org": name_selection(ident['identifier_org']), "identifier_value": ident['identifier_value'], "identifier_link": ident['identifier_link'], "identifier_date": ident['identifier_date'] } revised_study_identifiers.append(identifier) return revised_study_identifiers else: return None
def object_dates_processing(object_dates): if object_dates is not None: revised_object_dates = [] for date in object_dates: start_date = None if 'start_date' in date and date['start_date'] is not None: start_date = { "year": date['start_date']['start_year'] if 'start_year' in date['start_date'] else None, "month": date['start_date']['start_month'] if 'start_month' in date['start_date'] else None, "day": date['start_date']['start_day'] if 'start_day' in date['start_date'] else None } end_date = None if 'end_date' in date and date['end_date'] is not None: end_date = { "year": date['end_date']['end_year'] if 'end_year' in date['end_date'] else None, "month": date['end_date']['end_month'] if 'end_month' in date['end_date'] else None, "day": date['end_date']['end_day'] if 'end_day' in date['end_date'] else None } revised_date = { "id": date['id'] if 'id' in date else None, "date_type": name_selection(date['date_type']) if 'date_type' in date else None, "is_date_range": date['is_date_range'] if 'is_date_range' in date else None, "date_as_string": date['date_as_string'] if 'date_as_string' in date else None, "start_date": start_date, "end_date": end_date, "comments": date['comments'] if 'comments' in date else None } revised_object_dates.append(revised_date) return revised_object_dates else: return None
def object_description_processing(object_descriptions): if object_descriptions is not None: revised_object_descriptions = [] for description in object_descriptions: description_label = None description_text = None if 'contains_html' in description: if description['contains_html'] is True: if 'description_label' in description and description[ 'description_label'] is not None: description_label = remove_html_tags( description['description_label']) else: description_label = None if 'description_text' in description and description[ 'description_text'] is not None: description_text = remove_html_tags( description['description_text']) else: description_text = None else: description_label = description[ 'description_label'] if 'description_label' in description else None description_text = description[ 'description_text'] if 'description_text' in description else None else: description_label = description[ 'description_label'] if 'description_label' in description else None description_text = description[ 'description_text'] if 'description_text' in description else None revised_description = { "id": description['id'] if 'id' in description else None, "description_type": name_selection(description['description_type']) if 'description_type' in description else None, "description_label": description_label, "description_text": description_text, "lang_code": description['lang_code'] if 'lang_code' in description else None } revised_object_descriptions.append(revised_description) return revised_object_descriptions else: return None
def study_relationships_processing(study_relationships): revised_study_relationships = [] if study_relationships is not None and study_relationships != '': for relation in study_relationships: revised_relation = { "id": relation['id'], "relationship_type": name_selection(relation['relationship_type']), "target_study_id": relation['target_study_id'] } revised_study_relationships.append(revised_relation) return revised_study_relationships else: return None
def study_titles_processing(study_titles): revised_study_titles = [] if study_titles is not None and study_titles != '': for study_title in study_titles: revised_study_title = { "id": study_title['id'], "title_type": name_selection(study_title['title_type']), "title_text": study_title['title_text'], "lang_code": study_title['lang_code'], "comments": study_title['comments'] } revised_study_titles.append(revised_study_title) return revised_study_titles else: return None
def object_relationships_processing(object_relationships): if object_relationships is not None: revised_object_relationships = [] for relation in object_relationships: revised_relation = { "id": relation['id'] if 'id' in relation else None, "relationship_type": name_selection(relation['relationship_type']) if 'relationship_type' in relation else None, "target_object_id": relation['target_object_id'] if 'target_object_id' in relation else None } revised_object_relationships.append(revised_relation) return revised_object_relationships else: return None
def study_topics_processing(study_topics): revised_study_topics = [] if study_topics is not None and study_topics != '': for topic in study_topics: revised_topic = { "id": topic['id'], "topic_type": name_selection(topic['topic_type']), "mesh_coded": topic['mesh_coded'], "topic_code": topic['topic_code'], "topic_value": topic['topic_value'], "topic_qualcode": topic['topic_qualcode'], "topic_qualvalue": topic['topic_qualvalue'], "original_value": topic['original_value'] } revised_study_topics.append(revised_topic) return revised_study_topics else: return None
def object_titles_processing(object_titles): if object_titles is not None: revised_object_titles = [] for title in object_titles: revised_title = { "id": title['id'] if 'id' in title else None, "title_type": name_selection(title['title_type']) if 'title_type' in title else None, "title_text": title['title_text'] if 'title_text' in title else None, "lang_code": title['lang_code'] if 'lang_code' in title else None, "comments": title['comments'] if 'comments' in title else None } revised_object_titles.append(revised_title) return revised_object_titles else: return None