def cp(self, src, dst):
        """copies (recuresively or not) files or directories

        :param string src: source to copy
        :param string dst: destination to copy to
        :param bool recurse: should the copying process be recursive?
        """
        lgr.debug('Copying {0} to {1}'.format(src, dst))
        try:
            shutil.copytree(src, dst)
        except __HOLE__ as e:
            # If the error was caused because the source wasn't a directory
            if e.errno == errno.ENOTDIR:
                shutil.copy(src, dst)
            else:
                lgr.error('Copying failed. Error: {0}'.format(e))
                return False
dataset/ETHPy150Open cloudify-cosmo/packman/packman/utils.py/Handler.cp