Skip to content

Commit 2cccf1d

Browse files
Fix upload dataset endpoint (#18)
* Fix endpoint to upload file to datasets API * Debugging test * Import create_dataset * Update DATASET_ENDPOINTS * Update DATASETS_ENDPOINT * Fix upload datasets * Remove print
1 parent 29d7399 commit 2cccf1d

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

jupyterlab_extension/handlers.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from tornado.escape import utf8
99
from tornado.httputil import parse_multipart_form_data
1010

11-
from .services import create_dataset_locally
11+
from .services import create_dataset, create_dataset_locally
1212

1313

1414
class RouteHandler(APIHandler):
@@ -30,11 +30,15 @@ def post(self):
3030
)
3131
if "file" in self.request.files:
3232
file = self.request.files["file"][0]
33-
response = create_dataset_locally(file=file["body"], filename=file["filename"])
34-
if response:
33+
34+
uploaded_dataset = create_dataset(file=file["body"], filename=file["filename"])
35+
36+
local_file = create_dataset_locally(
37+
file=file["body"], filename=uploaded_dataset["filename"], name=uploaded_dataset["name"])
38+
if local_file:
3539
self.set_status(200)
3640
self.set_header("Content-Type", "application/json")
37-
data = json.dumps(response, default=date_default)
41+
data = json.dumps(local_file, default=date_default)
3842
self.finish(data)
3943
else:
4044
self.set_status(500)

jupyterlab_extension/services.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from unicodedata import normalize
66

7-
DATASETS_ENDPOINT = os.getenv("DATASETS_ENDPOINT", "http://datasets.kubeflow:8080")
8-
PROJECTS_ENDPOINT = os.getenv("PROJECTS_ENDPOINT", "http://projects.kubeflow:8080")
7+
DATASETS_ENDPOINT = os.getenv("DATASETS_ENDPOINT", "http://datasets.platiagro:8080")
8+
PROJECTS_ENDPOINT = os.getenv("PROJECTS_ENDPOINT", "http://projects.platiagro:8080")
99

1010

1111
def update_task(task_id, experiment_notebook=None, deployment_notebook=None) -> dict:
@@ -84,18 +84,18 @@ def generate_name(filename: str, attempt: int = 1, path: str = "/tmp/data") -> s
8484
return generate_name(filename, attempt + 1)
8585

8686

87-
def create_dataset_locally(file: bytes, filename: str = "file", path: str = "/tmp/data"):
87+
def create_dataset_locally(file: bytes, filename: str = "file", name: str = "file", path: str = "/tmp/data"):
8888
"""Creates a dataset from a CSV and writes locally.
8989
9090
Args:
9191
file (bytes): file object content.
92-
filename (str, optional): file name. Defaults to "file".
92+
filename (str, optional): original file name. Defaults to "file".
93+
name (str, optional): new file name generated by datasets API. Defaults to "file".
9394
path (str, optional): path to be writen. Defaults to "/tmp/data".
9495
9596
Raises:
9697
OSError: When the writing did not succeed.
9798
"""
98-
name = generate_name(filename)
9999

100100
try:
101101
with open(f"{path}/{name}", 'wb') as csv_file:

0 commit comments

Comments
 (0)