ayon-python-api 1.2.19__py3-none-any.whl → 1.2.20__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -364,6 +364,7 @@ class ProjectsAPI(BaseServerAPI):
364
364
  graphql_project = next(self._get_graphql_projects(
365
365
  None,
366
366
  None,
367
+ include_skeleton=True,
367
368
  project_name=project_name,
368
369
  fields=graphql_fields,
369
370
  own_attributes=own_attributes,
ayon_api/constants.py CHANGED
@@ -75,15 +75,14 @@ DEFAULT_PROJECT_LINK_TYPES_FIELDS = {
75
75
  # --- Product types ---
76
76
  DEFAULT_PRODUCT_TYPE_FIELDS = {
77
77
  "name",
78
- "icon",
79
- "color",
80
78
  }
81
79
 
82
80
  # --- Product base type ---
83
81
  DEFAULT_PRODUCT_BASE_TYPE_FIELDS = {
84
- # Ignore 'icon' and 'color'
85
- # - current server implementation always returns 'null'
82
+ # TODO add 'icon' and 'color' when server supports it
86
83
  "name",
84
+ # "icon",
85
+ # "color",
87
86
  }
88
87
 
89
88
  # --- Project ---
ayon_api/entity_hub.py CHANGED
@@ -56,6 +56,15 @@ if typing.TYPE_CHECKING:
56
56
  scope: NotRequired[Optional[StatusEntityType]]
57
57
 
58
58
 
59
+ class Assignees(set):
60
+ """Helper class for task assignees.
61
+
62
+ Assignees used to be a list and 'append' is being used a lot.
63
+ """
64
+ def append(self, item: str) -> None:
65
+ self.add(item)
66
+
67
+
59
68
  class _CustomNone:
60
69
  def __init__(self, name: Optional[str] = None) -> None:
61
70
  self._name = name or "CustomNone"
@@ -3430,9 +3439,9 @@ class TaskEntity(BaseEntity):
3430
3439
  entity_hub=entity_hub,
3431
3440
  )
3432
3441
  if assignees is None:
3433
- assignees = []
3442
+ assignees = Assignees()
3434
3443
  else:
3435
- assignees = list(assignees)
3444
+ assignees = Assignees(assignees)
3436
3445
 
3437
3446
  self._task_type = task_type
3438
3447
  self._assignees = assignees
@@ -3463,11 +3472,11 @@ class TaskEntity(BaseEntity):
3463
3472
 
3464
3473
  task_type = property(get_task_type, set_task_type)
3465
3474
 
3466
- def get_assignees(self) -> list[str]:
3475
+ def get_assignees(self) -> Assignees[str]:
3467
3476
  """Task assignees.
3468
3477
 
3469
3478
  Returns:
3470
- list[str]: Task assignees.
3479
+ Assignees[str]: Task assignees.
3471
3480
 
3472
3481
  """
3473
3482
  return self._assignees
@@ -3479,7 +3488,7 @@ class TaskEntity(BaseEntity):
3479
3488
  assignees (Iterable[str]): assignees.
3480
3489
 
3481
3490
  """
3482
- self._assignees = list(assignees)
3491
+ self._assignees = Assignees(assignees)
3483
3492
 
3484
3493
  assignees = property(get_assignees, set_assignees)
3485
3494
 
@@ -3497,7 +3506,7 @@ class TaskEntity(BaseEntity):
3497
3506
  changes["taskType"] = self._task_type
3498
3507
 
3499
3508
  if self._orig_assignees != self._assignees:
3500
- changes["assignees"] = self._assignees
3509
+ changes["assignees"] = list(self._assignees)
3501
3510
 
3502
3511
  return changes
3503
3512
 
@@ -3549,7 +3558,7 @@ class TaskEntity(BaseEntity):
3549
3558
  output["tags"] = self.tags
3550
3559
 
3551
3560
  if self.assignees:
3552
- output["assignees"] = self.assignees
3561
+ output["assignees"] = list(self.assignees)
3553
3562
 
3554
3563
  if self._data is not UNKNOWN_VALUE:
3555
3564
  output["data"] = self._data.get_new_entity_value()
ayon_api/typing.py CHANGED
@@ -235,6 +235,7 @@ class BundleInfoDict(TypedDict):
235
235
  class BundlesInfoDict(TypedDict):
236
236
  bundles: list[BundleInfoDict]
237
237
  productionBundle: str
238
+ stagingBundle: str
238
239
  devBundles: list[str]
239
240
 
240
241
 
ayon_api/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """Package declaring Python API for AYON server."""
2
- __version__ = "1.2.19"
2
+ __version__ = "1.2.20"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ayon_python_api
3
- Version: 1.2.19
3
+ Version: 1.2.20
4
4
  Summary: AYON Python API
5
5
  Home-page: https://github.com/ynput/ayon-python-api
6
6
  Author: ynput.io
@@ -1,16 +1,16 @@
1
1
  ayon_api/__init__.py,sha256=jkt4gx8UFMEOI6wJh5Npgm9uGUV-z-aOmg-594vdKHo,15785
2
2
  ayon_api/_api.py,sha256=Ka6a8RNAbMUa_bWodK4nuHBM-3sK6mSKZZKiWgILMHo,254429
3
- ayon_api/constants.py,sha256=K8RGj9pdDwhXB2gj8W8djsFdVlvAYAUzILSADVUOVCc,4143
4
- ayon_api/entity_hub.py,sha256=-evWrJsGqbuuL8yqGXuxT2ygjzTbodfURgwfc3xIJ-o,119610
3
+ ayon_api/constants.py,sha256=wnBse4dsk9zoeJOkayya3cFiGu00EXfebMNTioUclh0,4113
4
+ ayon_api/entity_hub.py,sha256=MaMl2zbiPDbQNwaSlDV65NOCscPQqgLzIrfAqAq5LxU,119854
5
5
  ayon_api/events.py,sha256=RQ_ct_GTb3KbZ6QWBkYn5m-ZUc6NJDAFFsoy2P_w3dQ,1370
6
6
  ayon_api/exceptions.py,sha256=9inI-TkAGMKuhF84O3FwikW2esgmCdPIeRhbj2ithQU,3692
7
7
  ayon_api/graphql.py,sha256=haowWM_TvfotVvz11iD8Wg6ey9TPW-aJTHgSmp2_lm0,30741
8
8
  ayon_api/graphql_queries.py,sha256=atupD5oe9t6WCyHy3YSY_0_uR8_c4ysb7d8SxbfZAvk,26455
9
9
  ayon_api/operations.py,sha256=BL9r5V8wXqHx63FhQOUpayceuMd0A5B-vJIb5TcKynQ,55501
10
10
  ayon_api/server_api.py,sha256=RRH4fuHVAtGcKRuosEizWEPfAwXmWWdGkAoSKASYVtc,86233
11
- ayon_api/typing.py,sha256=fcdLZAbx_IThJeDQ44TeQLkpoJ6Sj0wpHPtCEFJb4N8,12010
11
+ ayon_api/typing.py,sha256=ZM6o60b3LRhfc2mXzEhbW7sEPXvCzNzRz4rXLTFWgQA,12033
12
12
  ayon_api/utils.py,sha256=OGBjRaCCeQLksZ2XrOL5J2timrulDlNNCni3dx0yi8w,32765
13
- ayon_api/version.py,sha256=Kb9pAkFReP_cr8Jeap3qlCcCPJYnMjBvXM_GFpTm3aU,75
13
+ ayon_api/version.py,sha256=jHe0Dfhyh5fkfOJPloCxRYs0kCBQjGn6RPr3cDizEtY,75
14
14
  ayon_api/_api_helpers/__init__.py,sha256=15wxNshWe1htzZhFnwTTflBfQ3tYJzTe6-0hrEUCQbw,1076
15
15
  ayon_api/_api_helpers/actions.py,sha256=OBRAEJSVnhGP0xf8ktQL3M7Ubz64nDmn957qZehaRQ0,10578
16
16
  ayon_api/_api_helpers/activities.py,sha256=Svk3DbXRoIOxdlBpfmerPqNSG4d8M5i4QtxdPNqJ_lM,13831
@@ -24,15 +24,15 @@ ayon_api/_api_helpers/installers.py,sha256=Q45sg6rfKUht6g4bSPHHYFj8mDo_EAm9ahg9Z
24
24
  ayon_api/_api_helpers/links.py,sha256=ylbk7J3fzGstKI3sWdrpYHbodBuxcBhHvMe2r3AFO8E,22186
25
25
  ayon_api/_api_helpers/lists.py,sha256=RB9HM7GYuOUB7S2fImQQxzVTaWyjGOOx47BZcp6NStk,15000
26
26
  ayon_api/_api_helpers/products.py,sha256=fX9Ez_2RGRhDmZU02ucULZzfe8FGZAOFK7Qze1BTI1c,18521
27
- ayon_api/_api_helpers/projects.py,sha256=ROb7MCzuFg5cRz_Nn7sgHCFnwkocnvJBoe7eQjGSi9c,33830
27
+ ayon_api/_api_helpers/projects.py,sha256=NKbkxrzQfV0abhYC5XJNwL1XsxYlg7f-HbXf_MlhidM,33869
28
28
  ayon_api/_api_helpers/representations.py,sha256=BU0Oq_JOh6F6zIoiEtTGhRoHdr9WwMXMiaDDs-Oc7Yg,27736
29
29
  ayon_api/_api_helpers/secrets.py,sha256=L74qN38Bp22tDs9CQHWdgw3gsJm7GbnHKU75mCaWuj8,1955
30
30
  ayon_api/_api_helpers/tasks.py,sha256=gW8QbC2V7fNQeirViKyQVugnxfnYkQGGxiv3btYRn30,18135
31
31
  ayon_api/_api_helpers/thumbnails.py,sha256=2mQWU4cSY98J18ImYYt_5CRpm7DyOCO2wCmcLXwtdhk,12281
32
32
  ayon_api/_api_helpers/versions.py,sha256=c9ebZdM9i3J24B4bs2BRRoH937JWvRTWlJ3cFRscdug,22413
33
33
  ayon_api/_api_helpers/workfiles.py,sha256=8ksjCZ5xn7nEAKX792PeIwFNF5flslQwzbcHnJZwcu8,17679
34
- ayon_python_api-1.2.19.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
35
- ayon_python_api-1.2.19.dist-info/METADATA,sha256=-QmipQecdAPbKkXgWBKFClnIPjPm26HkTnfuwxvRo3U,16266
36
- ayon_python_api-1.2.19.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
37
- ayon_python_api-1.2.19.dist-info/top_level.txt,sha256=PKrQbX5Cz53_UmSTR_nIySnBkGyHcBTS88SCw9tuVlc,9
38
- ayon_python_api-1.2.19.dist-info/RECORD,,
34
+ ayon_python_api-1.2.20.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
35
+ ayon_python_api-1.2.20.dist-info/METADATA,sha256=t4svjyrRqjDRYVi-hbIsYHwwWCgch4MWXQVV2F2yzZ4,16266
36
+ ayon_python_api-1.2.20.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
37
+ ayon_python_api-1.2.20.dist-info/top_level.txt,sha256=PKrQbX5Cz53_UmSTR_nIySnBkGyHcBTS88SCw9tuVlc,9
38
+ ayon_python_api-1.2.20.dist-info/RECORD,,