'Add the specified properties to the manifest item identified by name.'

def add_properties(self, name, *properties):

    properties = frozenset(properties)
    if (not properties):
        return True
    for p in properties:
        if p.startswith(u'calibre:'):
            ensure_prefix(self.opf, None, u'calibre', CALIBRE_PREFIX)
            break
    for item in self.opf_xpath(u'//opf:manifest/opf:item'):
        iname = self.href_to_name(item.get(u'href'), self.opf_name)
        if (name == iname):
            props = (frozenset((item.get(u'properties') or u'').split()) | properties)
            item.set(u'properties', u'    '.join(props))
            return True
    return False
