Skip to content

Commit 0a85d27

Browse files
committed
Address some more PR comments.
Mostly formatting things (and one time bomb of a bug).
1 parent 687d134 commit 0a85d27

File tree

3 files changed

+44
-42
lines changed

3 files changed

+44
-42
lines changed

src/citrine/resources/material_run.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,13 @@ def get_history(self, id: Union[str, UUID, LinkByUID, MaterialRun]) -> MaterialR
139139
]
140140
}
141141
data = self.session.post_resource(path, json=query)
142-
if data and data[0]["roots"]:
142+
if data and data[0].get("roots"):
143143
# Since the above query presents a single dataset to the endpoint, the response will be
144144
# a list of length one, with a single route.
145+
# Note that "object" is used to match gemd-python expectations, although that library
146+
# can handle different names.
145147
history_data = data[0]
146-
history_data["roots"] = history_data["roots"][0]
148+
history_data["object"] = history_data.pop("roots")[0]
147149
return MaterialRun.build(history_data)
148150
else:
149151
return None

src/citrine/resources/project.py

+26-24
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,8 @@ def team_id(self, value: Optional[UUID]):
117117
@classmethod
118118
def get_team_id_from_project_id(cls, session: Session, project_id: UUID):
119119
"""Returns the UUID of the Team that owns the project with the provided project_id."""
120-
return session.get_resource(
121-
path=f'projects/{project_id}',
122-
version="v3")['project']['team']['id']
120+
response = session.get_resource(path=f'projects/{project_id}', version="v3")
121+
return response['project']['team']['id']
123122

124123
@property
125124
def branches(self) -> BranchCollection:
@@ -318,12 +317,10 @@ def ingredient_specs(self) -> IngredientSpecCollection:
318317
details="Please use 'Team.gemd' instead.'")
319318
def gemd(self) -> GEMDResourceCollection:
320319
"""Return a resource representing all GEMD objects/templates in this dataset."""
321-
return GEMDResourceCollection(
322-
project_id=self.uid,
323-
dataset_id=None,
324-
session=self.session,
325-
team_id=self.team_id
326-
)
320+
return GEMDResourceCollection(project_id=self.uid,
321+
dataset_id=None,
322+
session=self.session,
323+
team_id=self.team_id)
327324

328325
@property
329326
def table_configs(self) -> TableConfigCollection:
@@ -360,7 +357,8 @@ def publish(self, *, resource: Resource):
360357
else:
361358
self.session.checked_post(
362359
f"{self._path()}/published-resources/{resource_type}/batch-publish",
363-
version='v3', json={'ids': [resource_access["id"]]})
360+
version='v3',
361+
json={'ids': [resource_access["id"]]})
364362
return True
365363

366364
def un_publish(self, *, resource: Resource):
@@ -387,7 +385,8 @@ def un_publish(self, *, resource: Resource):
387385
else:
388386
self.session.checked_post(
389387
f"{self._path()}/published-resources/{resource_type}/batch-un-publish",
390-
version='v3', json={'ids': [resource_access["id"]]})
388+
version='v3',
389+
json={'ids': [resource_access["id"]]})
391390
return True
392391

393392
def pull_in_resource(self, *, resource: Resource):
@@ -415,7 +414,8 @@ def pull_in_resource(self, *, resource: Resource):
415414
base_url = f'/teams/{self.team_id}{self._path()}'
416415
self.session.checked_post(
417416
f'{base_url}/outside-resources/{resource_type}/batch-pull-in',
418-
version='v3', json={'ids': [resource_access["id"]]})
417+
version='v3',
418+
json={'ids': [resource_access["id"]]})
419419
return True
420420

421421
def owned_dataset_ids(self) -> List[str]:
@@ -434,9 +434,10 @@ def owned_dataset_ids(self) -> List[str]:
434434
DeprecationWarning
435435
)
436436
query_params = {"userId": "", "domain": self._path(), "action": "WRITE"}
437-
return self.session.get_resource("/DATASET/authorized-ids",
438-
params=query_params,
439-
version="v3")['ids']
437+
response = self.session.get_resource("/DATASET/authorized-ids",
438+
params=query_params,
439+
version="v3")
440+
return response['ids']
440441

441442
def list_members(self) -> Union[List[ProjectMember], List["TeamMember"]]: # noqa: F821
442443
"""
@@ -449,6 +450,7 @@ def list_members(self) -> Union[List[ProjectMember], List["TeamMember"]]: # noq
449450
containing the project if teams have been released.
450451
451452
"""
453+
# Preventing a cyclical import.
452454
from citrine.resources.team import TeamCollection
453455

454456
team_collection = TeamCollection(self.session)
@@ -457,13 +459,11 @@ def list_members(self) -> Union[List[ProjectMember], List["TeamMember"]]: # noq
457459

458460
@deprecated(deprecated_in="3.4.0", removed_in="4.0.0",
459461
details="Please use 'Team.gemd_batch_delete' instead.'")
460-
def gemd_batch_delete(
461-
self,
462-
id_list: List[Union[LinkByUID, UUID, str, BaseEntity]],
463-
*,
464-
timeout: float = 2 * 60,
465-
polling_delay: float = 1.0
466-
) -> List[Tuple[LinkByUID, ApiError]]:
462+
def gemd_batch_delete(self,
463+
id_list: List[Union[LinkByUID, UUID, str, BaseEntity]],
464+
*,
465+
timeout: float = 2 * 60,
466+
polling_delay: float = 1.0) -> List[Tuple[LinkByUID, ApiError]]:
467467
"""
468468
Remove a set of GEMD objects.
469469
@@ -550,7 +550,7 @@ def build(self, data) -> Project:
550550
project.team_id = self.team_id
551551
return project
552552

553-
def register(self, name: str, *, description: Optional[str] = None):
553+
def register(self, name: str, *, description: Optional[str] = None) -> Project:
554554
"""
555555
Create and upload new project.
556556
@@ -659,7 +659,9 @@ def search_all(self, search_params: Optional[Dict]) -> Iterable[Dict]:
659659

660660
return collections
661661

662-
def search(self, *, search_params: Optional[dict] = None,
662+
def search(self,
663+
*,
664+
search_params: Optional[dict] = None,
663665
per_page: int = 1000) -> Iterable[Project]:
664666
"""
665667
Search for projects matching the desired name or description.

src/citrine/resources/team.py

+14-16
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ def list_members(self) -> List[TeamMember]:
186186
The members of the current team
187187
188188
"""
189-
members = self.session.get_resource(self._path() + "/users",
190-
version=self._api_version)["users"]
189+
response = self.session.get_resource(self._path() + "/users", version=self._api_version)
190+
members = response["users"]
191191
return [TeamMember(user=User.build(m), team=self, actions=m["actions"]) for m in members]
192192

193193
def get_member(self, user_id: Union[str, UUID, User]) -> TeamMember:
@@ -387,9 +387,10 @@ def owned_dataset_ids(self) -> List[str]:
387387
388388
"""
389389
query_params = {"userId": "", "domain": self._path(), "action": "WRITE"}
390-
return self.session.get_resource("/DATASET/authorized-ids",
391-
params=query_params,
392-
version="v3")['ids']
390+
response = self.session.get_resource("/DATASET/authorized-ids",
391+
params=query_params,
392+
version="v3")
393+
return response['ids']
393394

394395
@property
395396
def projects(self) -> ProjectCollection:
@@ -457,10 +458,9 @@ def material_templates(self) -> MaterialTemplateCollection:
457458
@property
458459
def measurement_templates(self) -> MeasurementTemplateCollection:
459460
"""Return a resource representing all measurement templates in this dataset."""
460-
return MeasurementTemplateCollection(
461-
team_id=self.uid,
462-
dataset_id=None,
463-
session=self.session)
461+
return MeasurementTemplateCollection(team_id=self.uid,
462+
dataset_id=None,
463+
session=self.session)
464464

465465
@property
466466
def process_templates(self) -> ProcessTemplateCollection:
@@ -512,13 +512,11 @@ def gemd(self) -> GEMDResourceCollection:
512512
"""Return a resource representing all GEMD objects/templates in this dataset."""
513513
return GEMDResourceCollection(team_id=self.uid, dataset_id=None, session=self.session)
514514

515-
def gemd_batch_delete(
516-
self,
517-
id_list: List[Union[LinkByUID, UUID, str, BaseEntity]],
518-
*,
519-
timeout: float = 2 * 60,
520-
polling_delay: float = 1.0
521-
) -> List[Tuple[LinkByUID, ApiError]]:
515+
def gemd_batch_delete(self,
516+
id_list: List[Union[LinkByUID, UUID, str, BaseEntity]],
517+
*,
518+
timeout: float = 2 * 60,
519+
polling_delay: float = 1.0) -> List[Tuple[LinkByUID, ApiError]]:
522520
"""
523521
Remove a set of GEMD objects.
524522

0 commit comments

Comments
 (0)