def run(self):
        """
        each plugin has to implement this method -- it is used to run the plugin actually

        response from plugin is kept and used in json result response
        """
        try:
            shutil.copyfile(self.workflow.builder.df_path, self.path)
        except (__HOLE__, OSError) as ex:
            msg = "Couldn't copy dockerfile: %r" % ex
            self.log.error(msg)
            return msg
        else:
            msg = "Dockerfile successfully copied to '%s'" % self.path
            self.log.info(msg)
            return msg
dataset/ETHPy150Open projectatomic/atomic-reactor/atomic_reactor/plugins/pre_cp_dockerfile.py/CpDockerfilePlugin.run