Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions samples/refresh.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def main():
parser.add_argument('--server', '-s', required=True, help='server address')
parser.add_argument('--username', '-u', required=True, help='username to sign into server')
parser.add_argument('--site', '-S', default=None)
parser.add_argument('-p', default=None)
parser.add_argument('--password', '-p', default=None, help='if not specified, you will be prompted')

parser.add_argument('--logging-level', '-l', choices=['debug', 'info', 'error'], default='error',
help='desired logging level (set to error by default)')
Expand All @@ -26,10 +26,10 @@ def main():

args = parser.parse_args()

if args.p is None:
if args.password is None:
password = getpass.getpass("Password: ")
else:
password = args.p
password = args.password

# Set logging level based on user input, or error by default
logging_level = getattr(logging, args.logging_level.upper())
Expand All @@ -39,15 +39,21 @@ def main():
tableau_auth = TSC.TableauAuth(args.username, password, args.site)
server = TSC.Server(args.server, use_server_version=True)
with server.auth.sign_in(tableau_auth):
endpoint = {
'workbook': server.workbooks,
'datasource': server.datasources
}.get(args.resource_type)
if args.resource_type == "workbook":
# Get the workbook by its Id to make sure it exists
resource = server.workbooks.get_by_id(args.resource_id)

refresh_func = endpoint.refresh
resource = endpoint.get_by_id(args.resource_id)
# trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
results = server.workbooks.refresh(resource)
else:
# Get the datasource by its Id to make sure it exists
resource = server.datasources.get_by_id(args.resource_id)

print(refresh_func(resource))
# trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
results = server.datasources.refresh(resource)

print(results)
# TODO: Add a flag that will poll and wait for the returned job to be done


if __name__ == '__main__':
Expand Down