in jupyter-gcs-contents-manager/gcs_contents_manager.py [0:0]
def rename_file(self, old_path, new_path):
try:
old_gcs_path = self._gcs_path(self._normalize_path(old_path))
new_gcs_path = self._gcs_path(self._normalize_path(new_path))
blob = self.bucket.get_blob(old_gcs_path)
if blob:
# The path corresponds to a regular file.
self.bucket.rename_blob(blob, new_gcs_path)
return None
# The path (possibly) corresponds to a directory. Rename
# every file underneath it.
for b in self.bucket.list_blobs(prefix=old_gcs_path):
self.bucket.rename_blob(b, b.name.replace(old_gcs_path, new_gcs_path))
return None
except HTTPError as err:
raise err
except Exception as ex:
raise HTTPError(500, 'Internal server error: {}'.format(str(ex)))