from functools import reduce from nextcloud import NextCloud def _create_folder(folder: str, nxc: NextCloud) -> str: nxc.create_folder(folder, True) return folder def create_folders(path: str, nxc: NextCloud): # remove first "/" if there is one. path = path if path[0] != '/' else path[1:] folders = path.split("/") reduce(lambda x, y: _create_folder(f"{x}/{y}", nxc), folders, "") def upload_file(local_filename: str, remote_filename: str, nxc: NextCloud): nxc.upload_file(local_filename, remote_filename)