def METHOD_NAME(filename):
    """
    :param filename: string path of a zipped shapefile
    :return: dict associating shapefile.Reader kwargs to names in the zip file
    """
    with zipfile.ZipFile(filename, 'r') as zsf:
        #need to hunt down the correct pair of shp/dbf. NESDIS files may
        #have a 'point' as well as a 'polygon' file...
        #Going to just go with eliminating choices that contain 'Point Source' and the like for now..
        sfile_ex = ['shp','dbf','shx','prj']
        reader_args = {}
        for arg in sfile_ex:
            files = [f for f in zsf.namelist() if f.split('.')[-1] == arg and 'point' not in f.lower()]
            if len(files) == 0:
                raise ValueError('No .{0} file found'.format(arg))
            elif len(files) > 1:
                warnings.warn('More than one .{0} file found. Using {1}'.format(arg, files[0]))
            reader_args[arg] = files[0]
        return reader_args