'Sets the distro.  This must be the name of an existing
Distro object in the Distros collection.'

def set_distro(self, distro_name):

    d = self.collection_mgr.distros().find(name=distro_name)
    if (d is not None):
        old_parent = self.get_parent()
        if isinstance(old_parent, item.Item):
            old_parent.children.pop(self.name, 'pass')
        self.distro = distro_name
        self.depth = (d.depth + 1)
        d.children[self.name] = self
        return
    raise CX(_('distribution    not    found'))
