def METHOD_NAME(entry):
    """
    Convenience function for opening archives from entries. Returns an archive.Archive object
    """
    archive_path = entry.get('location', '')
    if not archive_path:
        logger.error('Entry does not appear to represent a local file.')
        return
    if not os.path.exists(archive_path):
        logger.error('File no longer exists: {}', entry['location'])
        return
    try:
        archive = archiveutil.open_archive(archive_path)
    except archiveutil.BadArchive as error:
        fail_entry_with_error(entry, f'Bad archive: {archive_path} ({error})')
    except archiveutil.NeedFirstVolume:
        logger.error('Not the first volume: {}', archive_path)
    except archiveutil.ArchiveError as error:
        fail_entry_with_error(entry, f'Failed to open Archive: {archive_path} ({error})')
    else:
        return archive