Skip to content
Closed
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
37 changes: 18 additions & 19 deletions dataikuapi/dss/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,9 @@ def duplicate(self, target_project_key,
if target_project_folder is not None:
obj["targetProjectFolderId"] = target_project_folder.project_folder_id

ref = self.client._perform_json("POST", "/projects/%s/duplicate/" % self.project_key, body = obj)
return ref
return self.client._perform_json(
"POST", "/projects/%s/duplicate/" % self.project_key, body=obj
)
Comment on lines -196 to +198
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.duplicate refactored with the following changes:


########################################################
# Project infos
Expand Down Expand Up @@ -263,9 +264,9 @@ def list_datasets(self, as_type="listitems"):
:rtype: list
"""
items = self.client._perform_json("GET", "/projects/%s/datasets/" % self.project_key)
if as_type == "listitems" or as_type == "listitem":
if as_type in ["listitems", "listitem"]:
return [DSSDatasetListItem(self.client, item) for item in items]
elif as_type == "objects" or as_type == "object":
elif as_type in ["objects", "object"]:
Comment on lines -266 to +269
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.list_datasets refactored with the following changes:

return [DSSDataset(self.client, self.project_key, item["name"]) for item in items]
else:
raise ValueError("Unknown as_type")
Expand Down Expand Up @@ -403,9 +404,9 @@ def list_streaming_endpoints(self, as_type="listitems"):
:rtype: list
"""
items = self.client._perform_json("GET", "/projects/%s/streamingendpoints/" % self.project_key)
if as_type == "listitems" or as_type == "listitem":
if as_type in ["listitems", "listitem"]:
return [DSSStreamingEndpointListItem(self.client, item) for item in items]
elif as_type == "objects" or as_type == "object":
elif as_type in ["objects", "object"]:
Comment on lines -406 to +409
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.list_streaming_endpoints refactored with the following changes:

return [DSSStreamingEndpoint(self.client, self.project_key, item["id"]) for item in items]
else:
raise ValueError("Unknown as_type")
Expand Down Expand Up @@ -715,7 +716,7 @@ def list_model_evaluation_stores(self, as_type=None):
:rtype: list
"""
items = self.client._perform_json("GET", "/projects/%s/modelevaluationstores/" % self.project_key)
if as_type == "objects" or as_type == "object":
if as_type in ["objects", "object"]:
Comment on lines -718 to +719
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.list_model_evaluation_stores refactored with the following changes:

return [DSSModelEvaluationStore(self.client, self.project_key, item["id"]) for item in items]
else:
return items
Expand Down Expand Up @@ -840,9 +841,9 @@ def list_jupyter_notebooks(self, active=False, as_type="object"):
:rtype: list of :class:`dataikuapi.dss.notebook.DSSJupyterNotebook` or list of String
"""
notebook_items = self.client._perform_json("GET", "/projects/%s/jupyter-notebooks/" % self.project_key, params={"active": active})
if as_type == "listitems" or as_type == "listitem":
if as_type in ["listitems", "listitem"]:
return [DSSJupyterNotebookListItem(self.client, notebook_item) for notebook_item in notebook_items]
elif as_type == "objects" or as_type == "object":
elif as_type in ["objects", "object"]:
Comment on lines -843 to +846
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.list_jupyter_notebooks refactored with the following changes:

return [DSSJupyterNotebook(self.client, self.project_key, notebook_item["name"]) for notebook_item in notebook_items]
else:
raise ValueError("Unknown as_type")
Expand Down Expand Up @@ -922,9 +923,9 @@ def set_variables(self, obj):

@param dict obj: must be a modified version of the object returned by get_variables
"""
if not "standard" in obj:
if "standard" not in obj:
raise ValueError("Missing 'standard' key in argument")
if not "local" in obj:
if "local" not in obj:
Comment on lines -925 to +928
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.set_variables refactored with the following changes:

  • Simplify logical expression using De Morgan identities (de-morgan)

raise ValueError("Missing 'local' key in argument")

self.client._perform_empty(
Expand Down Expand Up @@ -1141,9 +1142,9 @@ def list_recipes(self, as_type="listitems"):
:rtype: list
"""
items = self.client._perform_json("GET", "/projects/%s/recipes/" % self.project_key)
if as_type == "listitems" or as_type == "listitem":
if as_type in ["listitems", "listitem"]:
return [DSSRecipeListItem(self.client, item) for item in items]
elif as_type == "objects" or as_type == "object":
elif as_type in ["objects", "object"]:
Comment on lines -1144 to +1147
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.list_recipes refactored with the following changes:

return [DSSRecipe(self.client, self.project_key, item["name"]) for item in items]
else:
raise ValueError("Unknown as_type")
Expand Down Expand Up @@ -1229,7 +1230,7 @@ def new_recipe(self, type, name=None):
return recipe.SamplingRecipeCreator(name, self)
elif type == "split":
return recipe.SplitRecipeCreator(name, self)
elif type == "prepare" or type == "shaker":
elif type in ["prepare", "shaker"]:
Comment on lines -1232 to +1233
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProject.new_recipe refactored with the following changes:

return recipe.PrepareRecipeCreator(name, self)
elif type == "prediction_scoring":
return recipe.PredictionScoringRecipeCreator(name, self)
Expand Down Expand Up @@ -1588,11 +1589,9 @@ def add_exposed_object(self, object_type, object_id, target_project):
found_eo = {"type" : object_type, "localName" : object_id, "rules" : []}
self.settings["exposedObjects"]["objects"].append(found_eo)

already_exists = False
for rule in found_eo["rules"]:
if rule["targetProject"] == target_project:
already_exists = True
break
already_exists = any(
rule["targetProject"] == target_project for rule in found_eo["rules"]
)
Comment on lines -1591 to +1594
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function DSSProjectSettings.add_exposed_object refactored with the following changes:

  • Use any() instead of for loop (use-any)


if not already_exists:
found_eo["rules"].append({"targetProject": target_project})
Expand Down