Skip to content

Commit 84e7371

Browse files
jorwoodsjacalata
authored andcommitted
Null user_quota if tiered license levels exist (#981)
* Null user_quota if tiered license levels exist * fix types for get-users-for-group * make capability elements non-optional * turn groups into reference_resources and now mypy should run clean!
1 parent 921d554 commit 84e7371

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

tableauserverclient/models/permissions_item.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import xml.etree.ElementTree as ET
33

44
from defusedxml.ElementTree import fromstring
5-
65
from .exceptions import UnknownGranteeTypeError, UnpopulatedPropertyError
76
from .group_item import GroupItem
87
from .user_item import UserItem

tableauserverclient/models/site_item.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import warnings
12
import xml.etree.ElementTree as ET
23

34
from defusedxml.ElementTree import fromstring
@@ -17,6 +18,11 @@
1718

1819

1920
class SiteItem(object):
21+
_user_quota: Optional[int] = None
22+
_tier_creator_capacity: Optional[int] = None
23+
_tier_explorer_capacity: Optional[int] = None
24+
_tier_viewer_capacity: Optional[int] = None
25+
2026
class AdminMode:
2127
ContentAndUsers: str = "ContentAndUsers"
2228
ContentOnly: str = "ContentOnly"
@@ -210,6 +216,20 @@ def status_reason(self) -> Optional[str]:
210216
def storage(self) -> Optional[str]:
211217
return self._storage
212218

219+
@property
220+
def user_quota(self) -> Optional[int]:
221+
if any((self.tier_creator_capacity, self.tier_explorer_capacity, self.tier_viewer_capacity)):
222+
warnings.warn("Tiered license level is set. Returning None for user_quota")
223+
return None
224+
else:
225+
return self._user_quota
226+
227+
@user_quota.setter
228+
def user_quota(self, value: Optional[int]) -> None:
229+
if any((self.tier_creator_capacity, self.tier_explorer_capacity, self.tier_viewer_capacity)):
230+
raise ValueError("User quota conflicts with setting tiered license levels. Set those to None first.")
231+
self._user_quota = value
232+
213233
@property
214234
def subscribe_others_enabled(self) -> bool:
215235
return self._subscribe_others_enabled

test/test_site.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ def test_create(self) -> None:
194194
)
195195
new_site = self.server.sites.create(new_site)
196196

197+
new_site._tier_viewer_capacity = None
198+
new_site._tier_creator_capacity = None
199+
new_site._tier_explorer_capacity = None
197200
self.assertEqual("0626857c-1def-4503-a7d8-7907c3ff9d9f", new_site.id)
198201
self.assertEqual("tableau", new_site.content_url)
199202
self.assertEqual("Tableau", new_site.name)

0 commit comments

Comments
 (0)