'Returns a path to the destination for the album art image
for the album. `image` is the path of the image that will be
moved there (used for its extension).
The path construction uses the existing path of the album\'s
items, so the album must contain at least one item or
item_dir must be provided.'

def art_destination(self, image, item_dir=None):

    image = bytestring_path(image)
    item_dir = (item_dir or self.item_dir())
    filename_tmpl = Template(beets.config['art_filename'].as_str())
    subpath = self.evaluate_template(filename_tmpl, True)
    if beets.config['asciify_paths']:
        subpath = util.asciify_path(subpath, beets.config['path_sep_replace'].as_str())
    subpath = util.sanitize_path(subpath, replacements=self._db.replacements)
    subpath = bytestring_path(subpath)
    (_, ext) = os.path.splitext(image)
    dest = os.path.join(item_dir, (subpath + ext))
    return bytestring_path(dest)
