def __replicate(self):
        image_name = self.command_args['--name']
        self.result.add(
            'replicate:' +
            self.command_args['--name'] + ':' + self.command_args['--regions'],
            self.image.replicate(
                image_name,
                self.command_args['--regions'].split(','),
                self.command_args['--offer'],
                self.command_args['--sku'],
                self.command_args['--image-version']
            )
        )
        if not self.command_args['--quiet']:
            self.out.display()
        if self.command_args['--wait']:
            if not self.command_args['--quiet']:
                progress = BackgroundScheduler(timezone=utc)
                progress.add_job(
                    lambda: self.image.print_replication_status(image_name),
                    'interval',
                    minutes=5
                )
            progress.start()
            try:
                self.image.wait_for_replication_completion(image_name)
                self.image.print_replication_status(image_name)
            except __HOLE__:
                raise SystemExit('azurectl aborted by keyboard interrupt')
            finally:
                progress.shutdown()
        if not self.command_args['--quiet']:
            print
            log.info('Replicated %s', image_name)
dataset/ETHPy150Open SUSE/azurectl/azurectl/commands/compute_image.py/ComputeImageTask.__replicate