def _get_compression_for_entry(intake_entry):
    """
    Given an intake catalog entry, determine a compression scheme, if
    applicable. Fiona uses compound protocols like 'zip+s3://' to construct
    paths for GDAL, and we need to construct that properly.

    Returns a string scheme like "zip", "gzip",  or "tar". If no compression
    scheme is used, returns `None`.
    """
    driver = intake_entry.get('driver')
    if (driver == 'shapefile' or driver ==
        'intake_geopandas.geopandas.ShapefileSource'):
        return 'zip'
    else:
        return None
