def parse_records(records):
    """
    A helper function to parse a record returned by Springer API
    """
    DEFAULT_TEXT = 'Not avaliable'

    if len(records) == 0:
        return [{'title': DEFAULT_TEXT, 'publicationName': DEFAULT_TEXT,
                 'abstract': DEFAULT_TEXT, 'doi': DEFAULT_TEXT,
                 'url': DEFAULT_TEXT}]

    results = []
    for record in records:
        result = {}
        result['title'] = record.get('title', DEFAULT_TEXT)
        result['publicationName'] = record.get('publicationName', DEFAULT_TEXT)
        result['abstract'] = record.get('abstract', DEFAULT_TEXT)
        result['doi'] = record.get('doi', DEFAULT_TEXT)
        result['url'] = DEFAULT_TEXT
        if 'url' in record:
            result['url'] = record['url'][0].get('value', None)
        results.append(result)
    return results