예제 #1
0
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
예제 #4
0
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