<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def available(self, src, dst, model):
 """ Iterate over all registered plugins or plugin points and prepare to add them to database. """

        for name, point in six.iteritems(src):
            inst = dst.pop(name, None)
            if inst is None:
                self.print_(1, "Registering %s for %s" % (model.__name__,
                                                          name))
                inst = model(pythonpath=name)
            if inst.status == REMOVED:
                self.print_(1, "Updating %s for %s" % (model.__name__, name))
                # re-enable a previously removed plugin point and its plugins
                inst.status = ENABLED
            yield point, inst