<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def push(self, repository, stream=False, raise_on_error=True, **kwargs):
 """ Pushes an image repository to the registry. :param repository: Name of the repository (can include a tag). :type repository: unicode | str :param stream: Use the stream output format with additional status information. :type stream: bool :param raise_on_error: Raises errors in the status output as a DockerStatusException. Otherwise only logs errors. :type raise_on_error: bool :param kwargs: Additional kwargs for :meth:`docker.client.Client.push`. :return: ``True`` if the image has been pushed successfully. :rtype: bool """

        response = super(DockerClientWrapper, self).push(repository, stream=stream, **kwargs)
        if stream:
            result = self._docker_status_stream(response, raise_on_error)
        else:
            result = self._docker_status_stream(response.split('\r\n') if response else (), raise_on_error)
        return result and not result.get('error')