Skip to content

Commit 440d8e8

Browse files
author
Alex Pana
committed
commented on return type, example group creation, cleaned up code
1 parent b695db2 commit 440d8e8

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

samples/filter_sort_groups.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,17 @@
1313
import tableauserverclient as TSC
1414

1515

16-
def main():
16+
def create_example_group(group_name='Example Group', server=None):
17+
new_group = TSC.GroupItem(group_name)
18+
try:
19+
new_group = server.groups.create(new_group)
20+
print('Created a new project called: \'%s\'' % group_name)
21+
print(new_group)
22+
except TSC.ServerResponseError:
23+
print('Group \'%s\' already existed' % group_name)
24+
1725

26+
def main():
1827
parser = argparse.ArgumentParser(description='Filter on groups')
1928
parser.add_argument('--server', '-s', required=True, help='server address')
2029
parser.add_argument('--username', '-u', required=True, help='username to sign into server')
@@ -23,7 +32,6 @@ def main():
2332
parser.add_argument('-p', default=None)
2433
args = parser.parse_args()
2534

26-
password = ''
2735
if args.p is None:
2836
password = getpass.getpass("Password: ")
2937
else:
@@ -37,36 +45,30 @@ def main():
3745
server = TSC.Server(args.server)
3846

3947
with server.auth.sign_in(tableau_auth):
40-
server.version = '2.7'
48+
49+
# Determine and use the highest api version for the server
50+
server.use_server_version()
51+
4152
group_name = 'SALES NORTHWEST'
4253
# Try to create a group named "SALES NORTHWEST"
43-
try:
44-
group1 = TSC.GroupItem(group_name)
45-
group1 = server.groups.create(group1)
46-
print(group1)
47-
except TSC.ServerResponseError:
48-
print('Group \'%s\' already existed' % group_name)
54+
create_example_group(group_name, server)
4955

5056
group_name = 'SALES ROMANIA'
5157
# Try to create a group named "SALES ROMANIA"
52-
try:
53-
group2 = TSC.GroupItem(group_name)
54-
group2 = server.groups.create(group2)
55-
print(group2)
56-
except TSC.ServerResponseError:
57-
print('Group \'%s\' already existed' % group_name)
58+
create_example_group(group_name, server)
5859

5960
# URL Encode the name of the group that we want to filter on
6061
# i.e. turn spaces into plus signs
6162
filter_group_name = 'SALES+ROMANIA'
6263
options = TSC.RequestOptions()
6364
options.filter.add(TSC.Filter(TSC.RequestOptions.Field.Name,
64-
TSC.RequestOptions.Operator.Equals,
65-
filter_group_name))
65+
TSC.RequestOptions.Operator.Equals,
66+
filter_group_name))
6667

68+
# Return type is a tuple with the first entry as a list of matching groups
6769
filtered_group_paged = server.groups.get(req_options=options)
6870

69-
# Return type is a tuple with the first entry as a list of matching groups
71+
# Access the first list object of the first tuple return type
7072
print(filtered_group_paged[0][0].name)
7173

7274
options = TSC.RequestOptions()

0 commit comments

Comments
 (0)