def dominant_colors(url, num_colors=3):
	file = StringIO.StringIO(urllib.urlopen(url).read())
	image = Image.open(file)
	"""resize = 150
	image = image.resize((resize, resize))
	result = image.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=num_colors)
	result.putalpha(0)
	colors = result.getcolors(resize*resize)
	return [color[:3] for (count, color) in colors]"""
	return color_clusters.colorz(image, n=num_colors)
def dominant_colors(path, num_colors=3):
    cache_path = path + '.colors'
    if os.path.exists(cache_path):
        return json.load(open(cache_path))
    
    file = StringIO.StringIO(open(path).read())
    image = Image.open(file)
    """resize = 150
    image = image.resize((resize, resize))
    result = image.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=num_colors)
    result.putalpha(0)
    colors = result.getcolors(resize*resize)
    return [color[:3] for (count, color) in colors]"""
    out = color_clusters.colorz(image, n=num_colors)
    open(cache_path, 'w').write(json.dumps(out))
    return out