Attempts to read the cache to fetch missing arguments.

    This method will attempt to find a '.license' file in the
    'CACHE_DIRECTORY', to read any arguments that were not passed to the
    license utility.

    Arguments:
       author (str): The author passed, if any.
       kind (str):   The kind of license passed, if any.

    Throws:
      LicenseError, if there was a cache miss or I/O error.

def read(author, kind):
    """
    Attempts to read the cache to fetch missing arguments.

    This method will attempt to find a '.license' file in the
    'CACHE_DIRECTORY', to read any arguments that were not passed to the
    license utility.

    Arguments:
       author (str): The author passed, if any.
       kind (str):   The kind of license passed, if any.

    Throws:
      LicenseError, if there was a cache miss or I/O error.
    """

    if not os.path.exists(CACHE_PATH):
        raise LicenseError('No cache found. You must '
                           'supply at least -a and -k.')

    cache = read_cache()

    if author is None:
        author = read_author(cache)
    if kind is None:
        kind = read_kind(cache)

    return author, kind