'Delete the given relative path using the destination storage backend.'

def clear_dir(self, path):

    if (not self.storage.exists(path)):
        return
    (dirs, files) = self.storage.listdir(path)
    for f in files:
        fpath = os.path.join(path, f)
        if self.dry_run:
            self.log(("Pretending    to    delete    '%s'" % fpath), level=1)
        else:
            self.log(("Deleting    '%s'" % fpath), level=1)
            try:
                full_path = self.storage.path(fpath)
            except NotImplementedError:
                self.storage.delete(fpath)
            else:
                if ((not os.path.exists(full_path)) and os.path.lexists(full_path)):
                    os.unlink(full_path)
                else:
                    self.storage.delete(fpath)
    for d in dirs:
        self.clear_dir(os.path.join(path, d))
