Skip to content

Commit

Permalink
[HWORKS-800] Implement dataset.copy and dataset.move API
Browse files Browse the repository at this point in the history
  • Loading branch information
robzor92 committed Oct 18, 2023
1 parent a69ef07 commit 845a9e6
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions python/hopsworks/core/dataset_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,3 +388,63 @@ def mkdir(self, path: str):
return _client._send_request(
"POST", path_params, headers=headers, query_params=query_params
)["attributes"]["path"]

def copy(self, source_path: str, destination_path: str):
"""Copy a file or directory in the Hopsworks Filesystem.
```python
import hopsworks
project = hopsworks.login()
dataset_api = project.get_dataset_api()
directory_path = dataset_api.copy("Resources/myfile.txt", "Logs/myfile.txt")
```
# Arguments
source_path: the source path to copy
destination_path: the destination path
# Raises
`RestAPIError`: If unable to perform the copy
"""
_client = client.get_instance()
path_params = ["project", self._project_id, "dataset", path]
query_params = {
"action": "copy",
"destination_path": destination_path,
}
_client._send_request(
"POST", path_params, query_params=query_params
)["attributes"]["path"]

def move(self, source_path: str, destination_path: str):
"""Move a file or directory in the Hopsworks Filesystem.
```python
import hopsworks
project = hopsworks.login()
dataset_api = project.get_dataset_api()
directory_path = dataset_api.move("Resources/myfile.txt", "Logs/myfile.txt")
```
# Arguments
source_path: the source path to move
destination_path: the destination path
# Raises
`RestAPIError`: If unable to perform the move
"""
_client = client.get_instance()
path_params = ["project", self._project_id, "dataset", path]
query_params = {
"action": "move",
"destination_path": destination_path,
}
_client._send_request(
"POST", path_params, query_params=query_params
)["attributes"]["path"]

0 comments on commit 845a9e6

Please sign in to comment.