'The names of all manifest items whose media-type matches predicate.
`predicate` can be a set, a list, a string or a function taking a single
argument, which will be called with the media-type.'

def manifest_items_of_type(self, predicate):

    if isinstance(predicate, type(u'')):
        predicate = predicate.__eq__
    elif hasattr(predicate, u'__contains__'):
        predicate = predicate.__contains__
    for (mt, names) in self.manifest_type_map.iteritems():
        if predicate(mt):
            for name in names:
                (yield name)
