Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Babylon/commands/api/datasets/create.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
from pathlib import Path as pathlibPath
from json import loads, dumps
from json import loads
from logging import getLogger
from typing import Any
from click import argument, command, option, echo, style
from click import Path as clickPath
from Babylon.commands.api.datasets.services.datasets_api_svc import DatasetService
from Babylon.utils.credentials import pass_keycloak_token
from Babylon.utils.decorators import retrieve_state, injectcontext
from Babylon.utils.decorators import retrieve_state, injectcontext, output_to_file
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


@command()
@injectcontext()
@output_to_file
@pass_keycloak_token()
@argument("payload_file", type=clickPath(path_type=pathlibPath, exists=True))
@option("--organization-id", "organization_id", type=str)
Expand Down Expand Up @@ -45,6 +46,5 @@ def create(state: Any, keycloak_token: str, organization_id: str, workspace_id:
env.store_state_in_local(state)
if env.remote:
env.store_state_in_cloud(state)
logger.info(dumps(dataset, indent=2))
logger.info(f"[api] Dataset {[dataset.get('id')]} successfully created")
logger.info(f"Dataset {[dataset.get('id')]} successfully created")
return CommandResponse.success(dataset)
7 changes: 3 additions & 4 deletions Babylon/commands/api/datasets/create_part.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from pathlib import Path as pathlibPath
from json import loads, dumps
from json import loads
from logging import getLogger
from typing import Any
from click import argument, command, option, echo, style
Expand All @@ -10,7 +10,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -43,6 +43,5 @@ def create_part(state: Any, keycloak_token: str, organization_id: str, workspace
if response is None:
return CommandResponse.fail()
dataset_part = response.json()
logger.info(dumps(dataset_part, indent=2))
logger.info(f"[api] Dataset part {[dataset_part.get('id')]} successfully created")
logger.info(f"Dataset part {[dataset_part.get('id')]} successfully created")
return CommandResponse.success(dataset_part)
6 changes: 3 additions & 3 deletions Babylon/commands/api/datasets/delete.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -35,11 +35,11 @@ def delete(state: Any,
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Deleting dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Deleting dataset {[service_state['api']['dataset_id']]}")
response = service.delete(force_validation=force_validation)
if response is None:
return CommandResponse.fail()
logger.info(f"[api] Dataset {[service_state['api']['dataset_id']]} successfully deleted")
logger.info(f"Dataset {[service_state['api']['dataset_id']]} successfully deleted")
state["services"]["api"]["dataset_id"] = ""
env.store_state_in_local(state)
if env.remote:
Expand Down
6 changes: 3 additions & 3 deletions Babylon/commands/api/datasets/delete_part.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -37,9 +37,9 @@ def delete_part(state: Any,
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Deleting dataset part {dataset_part_id} from dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Deleting dataset part {dataset_part_id} from dataset {[service_state['api']['dataset_id']]}")
response = service.delete_part(dataset_part_id, force_validation=force_validation)
if response is None:
return CommandResponse.fail()
logger.info(f"[api] Dataset part {dataset_part_id} successfully deleted")
logger.info(f"Dataset part {dataset_part_id} successfully deleted")
return CommandResponse.success(response)
6 changes: 3 additions & 3 deletions Babylon/commands/api/datasets/download_part.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from Babylon.utils.credentials import pass_keycloak_token
from Babylon.utils.environment import Environment

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -34,12 +34,12 @@ def download_part(state: Any, keycloak_token: str, organization_id: str, workspa
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Downloading dataset part {dataset_part_id} from dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Downloading dataset part {dataset_part_id} from dataset {[service_state['api']['dataset_id']]}")
response = service.download_part(dataset_part_id=dataset_part_id)
if response is None:
return CommandResponse.fail()
dataset = response.content
with (open(f"dataset_part_{dataset_part_id}", "wb")) as f:
f.write(dataset)
logger.info(f"[api] Dataset part {dataset_part_id} successfully saved to file dataset_part_{dataset_part_id}")
logger.info(f"Dataset part {dataset_part_id} successfully saved to file dataset_part_{dataset_part_id}")
return CommandResponse.success(dataset)
7 changes: 2 additions & 5 deletions Babylon/commands/api/datasets/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, echo, style
Expand All @@ -11,7 +9,7 @@
from Babylon.utils.credentials import pass_keycloak_token
from Babylon.utils.environment import Environment

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -34,10 +32,9 @@ def get(state: Any, keycloak_token: str, organization_id: str, workspace_id: str
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Retrieving dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Retrieving dataset {[service_state['api']['dataset_id']]}")
response = service.get()
if response is None:
return CommandResponse.fail()
dataset = response.json()
logger.info(json.dumps(dataset, indent=2))
return CommandResponse.success(dataset)
7 changes: 3 additions & 4 deletions Babylon/commands/api/datasets/get_all.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import jmespath
import json

from logging import getLogger
from typing import Any, Optional
Expand All @@ -11,7 +10,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -39,12 +38,12 @@ def get_all(state: Any,
service_state["api"]["organization_id"] = (organization_id or service_state["api"]["organization_id"])
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Getting all datasets from organization {[service_state['api']['organization_id']]}")
logger.info(f"Getting all datasets from organization {[service_state['api']['organization_id']]}")
response = service.get_all()
if response is None:
return CommandResponse.fail()
datasets = response.json()
if len(datasets) and filter:
datasets = jmespath.search(filter, datasets)
logger.info(json.dumps(datasets, indent=2))
logger.info(f"Retrieved {[d.get('id') for d in datasets]} datasets")
return CommandResponse.success(datasets)
7 changes: 3 additions & 4 deletions Babylon/commands/api/datasets/get_all_parts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import jmespath
import json

from logging import getLogger
from typing import Any, Optional
Expand All @@ -11,7 +10,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -41,12 +40,12 @@ def get_all_parts(state: Any,
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Getting all dataset parts from dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Getting all dataset parts from dataset {[service_state['api']['dataset_id']]}")
response = service.get_all_parts()
if response is None:
return CommandResponse.fail()
datasets = response.json()
if len(datasets) and filter:
datasets = jmespath.search(filter, datasets)
logger.info(json.dumps(datasets, indent=2))
logger.info(f"Retrieved {[d.get('id') for d in datasets]} dataset parts")
return CommandResponse.success(datasets)
7 changes: 2 additions & 5 deletions Babylon/commands/api/datasets/get_part.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, echo, style
Expand All @@ -11,7 +9,7 @@
from Babylon.utils.credentials import pass_keycloak_token
from Babylon.utils.environment import Environment

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -37,10 +35,9 @@ def get_part(state: Any, keycloak_token: str, organization_id: str, workspace_id
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
service_state["api"]["dataset_part_id"] = (dataset_part_id or service_state["api"]["dataset_part_id"])
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Retrieving dataset part {dataset_part_id} of dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Retrieving dataset part {dataset_part_id} of dataset {[service_state['api']['dataset_id']]}")
response = service.get_part()
if response is None:
return CommandResponse.fail()
dataset = response.json()
logger.info(json.dumps(dataset, indent=2))
return CommandResponse.success(dataset)
8 changes: 3 additions & 5 deletions Babylon/commands/api/datasets/search.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, argument, echo, style
Expand All @@ -10,7 +8,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -32,11 +30,11 @@ def search(state: Any, keycloak_token: str, organization_id: str, workspace_id:
service_state = state["services"]
service_state["api"]["organization_id"] = (organization_id or service_state["api"]["organization_id"])
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
logger.info(f"[api] Searching dataset by tag {[tag]}")
logger.info(f"Searching dataset by tag {[tag]}")
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
response = service.search(tag=tag)
if response is None:
return CommandResponse.fail()
dataset = response.json()
logger.info(json.dumps(dataset, indent=2))
logger.info(f"Retrieved datasets {[d.get('id') for d in dataset]}")
return CommandResponse.success(dataset)
8 changes: 3 additions & 5 deletions Babylon/commands/api/datasets/search_parts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, argument, echo, style
Expand All @@ -10,7 +8,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -34,11 +32,11 @@ def search_parts(state: Any, keycloak_token: str, organization_id: str, workspac
service_state["api"]["organization_id"] = (organization_id or service_state["api"]["organization_id"])
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = (dataset_id or service_state["api"]["dataset_id"])
logger.info(f"[api] Searching dataset part by tag {[tag]}")
logger.info(f"Searching dataset part by tag {[tag]}")
service = DatasetService(keycloak_token=keycloak_token, state=service_state)
response = service.search_parts(tag=tag)
if response is None:
return CommandResponse.fail()
dataset = response.json()
logger.info(json.dumps(dataset, indent=2))
logger.info(f"Retrieved dataset parts {[d.get('id') for d in dataset]}")
return CommandResponse.success(dataset)
6 changes: 3 additions & 3 deletions Babylon/commands/api/datasets/security/add.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand Down Expand Up @@ -51,11 +51,11 @@ def add(state: Any,
service_state["api"]["dataset_id"] = dataset_id or service_state["api"]["dataset_id"]
service = DatasetSecurityService(keycloak_token=keycloak_token, state=service_state)
details = json.dumps(obj={"id": email, "role": role}, indent=2, ensure_ascii=True)
logger.info(f"[api] Granting user {[email]} RBAC permissions on dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Granting user {[email]} RBAC permissions on dataset {[service_state['api']['dataset_id']]}")
response = service.add(details)
if response is None:
return CommandResponse.fail()
rbac = response.json()
logger.info(json.dumps(rbac, indent=2))
logger.info("[api] User RBAC permissions successfully added")
logger.info("User RBAC permissions successfully added")
return CommandResponse.success(rbac)
6 changes: 3 additions & 3 deletions Babylon/commands/api/datasets/security/delete.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -35,9 +35,9 @@ def delete(state: dict, keycloak_token: str, email: str, organization_id: str, w
service_state["api"]["workspace_id"] = (workspace_id or service_state["api"]["workspace_id"])
service_state["api"]["dataset_id"] = dataset_id or service_state["api"]["dataset_id"]
service = DatasetSecurityService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Deleting user {[email]} RBAC permissions on dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Deleting user {[email]} RBAC permissions on dataset {[service_state['api']['dataset_id']]}")
response = service.delete(id=email)
if response is None:
return CommandResponse.fail()
logger.info("[api] User RBAC permissions successfully deleted")
logger.info("User RBAC permissions successfully deleted")
return CommandResponse.success(response)
7 changes: 2 additions & 5 deletions Babylon/commands/api/datasets/security/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, echo, style
Expand All @@ -10,7 +8,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -37,10 +35,9 @@ def get(state: Any, keycloak_token: str, email: str, organization_id: str, works
service_state["api"]["workspace_id"] = workspace_id or service_state["api"]["workspace_id"]
service_state["api"]["dataset_id"] = dataset_id or service_state["api"]["dataset_id"]
service = DatasetSecurityService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Get user {[email]} RBAC access to the dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Get user {[email]} RBAC access to the dataset {[service_state['api']['dataset_id']]}")
response = service.get(id=email)
if response is None:
return CommandResponse.fail()
rbac = response.json()
logger.info(json.dumps(rbac, indent=2))
return CommandResponse.success(rbac)
7 changes: 2 additions & 5 deletions Babylon/commands/api/datasets/security/get_all.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import json

from logging import getLogger
from typing import Any
from click import command, option, echo, style
Expand All @@ -11,7 +9,7 @@
from Babylon.utils.environment import Environment
from Babylon.utils.response import CommandResponse

logger = getLogger("Babylon")
logger = getLogger(__name__)
env = Environment()


Expand All @@ -34,10 +32,9 @@ def get_all(state: Any, keycloak_token: str, organization_id: str, workspace_id:
service_state["api"]["organization_id"] = organization_id or service_state["api"]["organization_id"]
service_state["api"]["workspace_id"] = workspace_id or service_state["api"]["workspace_id"]
service = DatasetSecurityService(keycloak_token=keycloak_token, state=service_state)
logger.info(f"[api] Retrieving all users access to the dataset {[service_state['api']['dataset_id']]}")
logger.info(f"Retrieving all users access to the dataset {[service_state['api']['dataset_id']]}")
response = service.get_all()
if response is None:
return CommandResponse.fail()
rbacs = response.json()
logger.info(json.dumps(rbacs, indent=2))
return CommandResponse.success(rbacs)
Loading
Loading