def test_cleaning_of_empty_values(): """Test cleaning of values.""" model = { "_deposit": { "created_by": 7, "id": "914f01bd513a4428be3289aeb587e742", "owners": [7], "status": "draft" }, "_experiment": "CMS", "_files": [], "dream_team": '', "the_best_dream_team": "thor_team", "testing": { "test_inner": "hello" }, "additional_resources": { "documentations": [{}], "internal_discussions": [{}], "presentations": [{}], "publications": [{ "persistent_identifiers": [] }] }, "basic_info": { "people_info": [{}] }, "cms_questionnaire": {}, "general_title": "Created 12/04/2017, 15:08:08", } result = clean_empty_values(model) assert "additional_resources" not in result assert "cms_questionnaire" not in result assert "the_best_dream_team" in result assert "testing" in result
def test_cleaning_of_empty_values(): """Test cleaning of values.""" model = { "_deposit": { "created_by": 7, "id": "914f01bd513a4428be3289aeb587e742", "owners": [ 7 ], "status": "draft" }, "_experiment": "CMS", "_files": [ ], "dream_team": '', "the_best_dream_team": "thor_team", "testing": { "test_inner": "hello" }, "additional_resources": { "documentations": [ { } ], "internal_discussions": [ { } ], "presentations": [ { } ], "publications": [ { "persistent_identifiers": [ ] } ] }, "basic_info": { "people_info": [ { } ] }, "cms_questionnaire": {}, "general_title": "Created 12/04/2017, 15:08:08", } result = clean_empty_values(model) assert "additional_resources" not in result assert "cms_questionnaire" not in result assert "the_best_dream_team" in result assert "testing" in result
def json_v1_loader(data=None): """Load data from request and process URLs.""" data = deepcopy(data or request.get_json()) # remove underscore prefixed fields data = {k: v for k, v in data.items() if not k.startswith('_')} result = clean_empty_values(data) return result
def json_v1_loader(data=None): """Load data from request and process URLs.""" from copy import deepcopy data = deepcopy(data or request.json) if request and request.view_args.get('pid_value'): _, record = request.view_args.get('pid_value').data # record_id = str(record.id) # x_cap_files = extract_x_cap_files(data) # urls = process_x_cap_files(record, x_cap_files) data['_files'] = record.files.dumps() for file in data['_files']: file['file_name'] = file['key'].split('/')[-1] # @after_this_request # def _preserve_files(response): # for url in urls: # download_url.delay(record_id, url)c # return response result = clean_empty_values(data) return result