'Massage NCX text for Kindle.
Convert HTML entities for proper display on Kindle, convert
\'&amp;\' to \'&#38;\' (Kindle fails).
Args:
description (str): string, possibly with HTM entities
dest (kwarg): author, title or description
Return:
(str): massaged, possibly truncated description'

def format_ncx_text(self, description, dest=None):

    massaged = unicode(BeautifulStoneSoup(description, convertEntities=BeautifulStoneSoup.HTML_ENTITIES))
    massaged = re.sub('&', '&#38;', massaged)
    if (massaged.strip() and dest):
        return self.generate_short_description(massaged.strip(), dest=dest)
    else:
        return None
