8000 Resolve comments · zeninpalm/server-client-python@3f1b851 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3f1b851

Browse files
committed
Resolve comments
1 parent 036322b commit 3f1b851

File tree

3 files changed

+21
-8
lines changed

3 files changed

+21
-8
lines changed

tableauserverclient/models/data_alert_item.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
import xml.etree.ElementTree as ET
22

3-
from .property_decorators import property_not_empty
3+
from .property_decorators import property_not_empty, property_is_enum
44
from .user_item import UserItem
55
from .view_item import ViewItem
66

77

88
class DataAlertItem(object):
9+
class Frequency:
10+
Once = 'once'
11+
Frequently = 'frequently'
12+
Hourly = 'hourly'
13+
Daily = 'daily'
14+
Weekly = 'weekly'
15+
916
def __init__(self):
1017
self._id = None
1118
self._subject = None
@@ -46,7 +53,7 @@ def frequency(self):
4653
return self._frequency
4754

4855
@frequency.setter
49-
@property_not_empty
56+
@property_is_enum(Frequency)
5057
def frequency(self, value):
5158
self._frequency = value
5259

tableauserverclient/server/endpoint/data_alert_endpoint.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,27 @@ def delete_user_from_alert(self, dataalert, user):
5656
if not dataalert_id:
5757
error = "Dataalert ID undefined."
5858
raise ValueError(error)
59+
if not user_id:
60+
error = "User ID undefined."
61+
raise ValueError(error)
5962
# DELETE /api/api-version/sites/site-id/dataAlerts/data-alert-id/users/user-id
6063
url = "{0}/{1}/users/{2}".format(self.baseurl, dataalert_id, user_id)
6164
self.delete_request(url)
62-
logger.info('Deleted single dataalert (ID: {0})'.format(dataalert_id))
65+
logger.info('Deleted User (ID {0}) from dataalert (ID: {1})'.format(user_id, dataalert_id))
6366

6467
@api(version="3.2")
6568
def add_user_to_alert(self, dataalert_item, user):
6669
if not dataalert_item.id:
6770
error = "Dataalert item missing ID."
6871
raise MissingRequiredFieldError(error)
69-
72+
user_id = getattr(user, 'id', user)
73+
if not user_id:
74+
error = "User ID undefined."
75+
raise ValueError(error)
7076
url = "{0}/{1}/users".format(self.baseurl, dataalert_item.id)
71-
update_req = RequestFactory.DataAlert.add_user_to_alert(dataalert_item, user)
77+
update_req = RequestFactory.DataAlert.add_user_to_alert(dataalert_item, user_id)
7278
server_response = self.post_request(url, update_req)
73-
logger.info('Updated dataalert item (ID: {0})'.format(dataalert_item.id))
79+
logger.info('Added user (ID {0}) to dataalert item (ID: {1})'.format(user_id, dataalert_item.id))
7480
user = UserItem.from_response(server_response.content, self.parent_srv.namespace)[0]
7581
return user
7682

tableauserverclient/server/request_factory.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ def update_req(self, column_item):
8787

8888

8989
class DataAlertRequest(object):
90-
def add_user_to_alert(self, alert_item, user_item):
90+
def add_user_to_alert(self, alert_item, user_id):
9191
xml_request = ET.Element('tsRequest')
9292
user_element = ET.SubElement(xml_request, 'user')
93-
user_element.attrib['id'] = user_item.id
93+
user_element.attrib['id'] = user_id
9494

9595
return ET.tostring(xml_request)
9696

0 commit comments

Comments
 (0)
0