-
Notifications
You must be signed in to change notification settings - Fork 436
Django-style filters #615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Django-style filters #615
Conversation
Release v0.9 ## 0.9 (4 Oct 2019) * Added Metadata API endpoints (tableau#431) * Added site settings for Data Catalog and Prep Conductor (tableau#434) * Added new fields to ViewItem (tableau#331) * Added support and samples for Tableau Server Personal Access Tokens (tableau#465) * Added Permissions endpoints (tableau#429) * Added tags to ViewItem (tableau#470) * Added Databases and Tables endpoints (tableau#445) * Added Flow endpoints (tableau#494) * Added ability to filter projects by topLevelProject attribute (tableau#497) * Improved server_info endpoint error handling (tableau#439) * Improved Pager to take in keyword arguments (tableau#451) * Fixed UUID serialization error while publishing workbook (tableau#449) * Fixed materalized views in request body for update_workbook (tableau#461)
* delete folder * add back readme for docs
Merging v0.10 changes from development to master * Added a way to handle non-xml errors (tableau#515) * Added Webhooks endpoints for create, delete, get, list, and test (tableau#523, tableau#532) * Added delete method in the tasks endpoint (tableau#524) * Added description attribute to WorkbookItem (tableau#533) * Added support for materializeViews as schedule and task types (tableau#542) * Added warnings to schedules (tableau#550, tableau#551) * Added ability to update parent_id attribute of projects (tableau#560, tableau#567) * Improved filename behavior for download endpoints (tableau#517) * Improved logging (tableau#508) * Fixed runtime error in permissions endpoint (tableau#513) * Fixed move_workbook_sites sample (tableau#503) * Fixed project permissions endpoints (tableau#527) * Fixed login.py sample to accept site name (tableau#549)
The logger statement is using the parameter to output the id of the user, but that isnt set until line 67 and saved to a new variable. We want the logger statement to use that new user
Merge development into master for v0.11 release v0.11 (1 May 2020) -Added more fields to Data Acceleration config (tableau#588) -Added OpenID as an auth setting enum (tableau#610) -Added support for Data Acceleration Reports (tableau#596) -Added support for view permissions (tableau#526) -Materialized views changed to Data Acceleration (tableau#576) -Improved consistency across workbook/datasource endpoints (tableau#570) -Fixed print error in update_connection.py (tableau#602) -Fixed log error in add user endpoint (tableau#608)
Looking for repo owners to take a look at this and comment/merge. |
This will be really handy, and remove the need for some custom code to enact filters. |
@shinchris and @RussTheAerialist please review. |
Overall, looks good to me. It will definitely make querying a lot simpler, especially with filtering and sorting. And allows the old methods to continue to work. @RussTheAerialist what are you thoughts on style for querying? |
@RussTheAerialist Would you be able to look at this? |
Sorry for the delay in reviewing, at the surface this looks great, I need to spend a little more time to think through implications around compatibility with the original implementation. I also validated that we have a valid CLA signed for this change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, I have no concerns on backcompat, so I'm going to merge this in. Thank you @scuml for the amazing contribution!
This code filters the views. But how can we filter a specific view? For example, I have view which has multiple regions and I want to fetch the view where regions=='UK' for example. |
Take a look at this sample. https://github.com/tableau/server-client-python/blob/master/samples/export.py |
This adds a django-style filtering and sorting mechanism to tableau which significantly decreases implementation code complexity.
For instance, this:
...can now be written in one line:
This method returns a queryset, which can be iterated to access members.
Full example...
Documentation will need to be updated if accepted.