Skip to content

Commit eee71d7

Browse files
authored
Merge branch 'development' into jorwoods/typed_pager
2 parents ff7ab65 + 6c4374b commit eee71d7

28 files changed

+457
-393
lines changed

pyproject.toml

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ disable_error_code = [
4949
files = ["tableauserverclient", "test"]
5050
show_error_codes = true
5151
ignore_missing_imports = true # defusedxml library has no types
52+
no_implicit_reexport = true
53+
5254
[tool.pytest.ini_options]
5355
testpaths = ["test"]
5456
addopts = "--junitxml=./test.junit.xml"

tableauserverclient/__init__.py

+64-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from ._version import get_versions
2-
from .namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
3-
from .models import (
1+
from tableauserverclient._version import get_versions
2+
from tableauserverclient.namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
3+
from tableauserverclient.models import (
44
BackgroundJobItem,
55
ColumnItem,
66
ConnectionCredentials,
@@ -43,7 +43,8 @@
4343
WeeklyInterval,
4444
WorkbookItem,
4545
)
46-
from .server import (
46+
47+
from tableauserverclient.server import (
4748
CSVRequestOptions,
4849
ExcelRequestOptions,
4950
ImageRequestOptions,
@@ -57,3 +58,62 @@
5758
Server,
5859
Sort,
5960
)
61+
62+
__all__ = [
63+
"get_versions",
64+
"DEFAULT_NAMESPACE",
65+
"BackgroundJobItem",
66+
"BackgroundJobItem",
67+
"ColumnItem",
68+
"ConnectionCredentials",
69+
"ConnectionItem",
70+
"CustomViewItem",
71+
"DQWItem",
72+
"DailyInterval",
73+
"DataAlertItem",
74+
"DatabaseItem",
75+
"DataFreshnessPolicyItem",
76+
"DatasourceItem",
77+
"FavoriteItem",
78+
"FlowItem",
79+
"FlowRunItem",
80+
"FileuploadItem",
81+
"GroupItem",
82+
"HourlyInterval",
83+
"IntervalItem",
84+
"JobItem",
85+
"JWTAuth",
86+
"MetricItem",
87+
"MonthlyInterval",
88+
"PaginationItem",
89+
"Permission",
90+
"PermissionsRule",
91+
"PersonalAccessTokenAuth",
92+
"ProjectItem",
93+
"RevisionItem",
94+
"ScheduleItem",
95+
"SiteItem",
96+
"ServerInfoItem",
97+
"SubscriptionItem",
98+
"TableItem",
99+
"TableauAuth",
100+
"Target",
101+
"TaskItem",
102+
"UserItem",
103+
"ViewItem",
104+
"WebhookItem",
105+
"WeeklyInterval",
106+
"WorkbookItem",
107+
"CSVRequestOptions",
108+
"ExcelRequestOptions",
109+
"ImageRequestOptions",
110+
"PDFRequestOptions",
111+
"RequestOptions",
112+
"MissingRequiredFieldError",
113+
"NotSignedInError",
114+
"ServerResponseError",
115+
"Filter",
116+
"Pager",
117+
"Server",
118+
"Sort",
119+
]
+88-37
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,94 @@
1-
from .column_item import ColumnItem
2-
from .connection_credentials import ConnectionCredentials
3-
from .connection_item import ConnectionItem
4-
from .custom_view_item import CustomViewItem
5-
from .data_acceleration_report_item import DataAccelerationReportItem
6-
from .data_alert_item import DataAlertItem
7-
from .database_item import DatabaseItem
8-
from .data_freshness_policy_item import DataFreshnessPolicyItem
9-
from .datasource_item import DatasourceItem
10-
from .dqw_item import DQWItem
11-
from .exceptions import UnpopulatedPropertyError
12-
from .favorites_item import FavoriteItem
13-
from .fileupload_item import FileuploadItem
14-
from .flow_item import FlowItem
15-
from .flow_run_item import FlowRunItem
16-
from .group_item import GroupItem
17-
from .interval_item import (
1+
from tableauserverclient.models.column_item import ColumnItem
2+
from tableauserverclient.models.connection_credentials import ConnectionCredentials
3+
from tableauserverclient.models.connection_item import ConnectionItem
4+
from tableauserverclient.models.custom_view_item import CustomViewItem
5+
from tableauserverclient.models.data_acceleration_report_item import DataAccelerationReportItem
6+
from tableauserverclient.models.data_alert_item import DataAlertItem
7+
from tableauserverclient.models.database_item import DatabaseItem
8+
from tableauserverclient.models.data_freshness_policy_item import DataFreshnessPolicyItem
9+
from tableauserverclient.models.datasource_item import DatasourceItem
10+
from tableauserverclient.models.dqw_item import DQWItem
11+
from tableauserverclient.models.exceptions import UnpopulatedPropertyError
12+
from tableauserverclient.models.favorites_item import FavoriteItem
13+
from tableauserverclient.models.fileupload_item import FileuploadItem
14+
from tableauserverclient.models.flow_item import FlowItem
15+
from tableauserverclient.models.flow_run_item import FlowRunItem
16+
from tableauserverclient.models.group_item import GroupItem
17+
from tableauserverclient.models.interval_item import (
1818
IntervalItem,
1919
DailyInterval,
2020
WeeklyInterval,
2121
MonthlyInterval,
2222
HourlyInterval,
2323
)
24-
from .job_item import JobItem, BackgroundJobItem
25-
from .metric_item import MetricItem
26-
from .pagination_item import PaginationItem
27-
from .permissions_item import PermissionsRule, Permission
28-
from .project_item import ProjectItem
29-
from .revision_item import RevisionItem
30-
from .schedule_item import ScheduleItem
31-
from .server_info_item import ServerInfoItem
32-
from .site_item import SiteItem
33-
from .subscription_item import SubscriptionItem
34-
from .table_item import TableItem
35-
from .tableau_auth import Credentials, TableauAuth, PersonalAccessTokenAuth, JWTAuth
36-
from .tableau_types import Resource, TableauItem, plural_type
37-
from .tag_item import TagItem
38-
from .target import Target
39-
from .task_item import TaskItem
40-
from .user_item import UserItem
41-
from .view_item import ViewItem
42-
from .webhook_item import WebhookItem
43-
from .workbook_item import WorkbookItem
24+
from tableauserverclient.models.job_item import JobItem, BackgroundJobItem
25+
from tableauserverclient.models.metric_item import MetricItem
26+
from tableauserverclient.models.pagination_item import PaginationItem
27+
from tableauserverclient.models.permissions_item import PermissionsRule, Permission
28+
from tableauserverclient.models.project_item import ProjectItem
29+
from tableauserverclient.models.revision_item import RevisionItem
30+
from tableauserverclient.models.schedule_item import ScheduleItem
31+
from tableauserverclient.models.server_info_item import ServerInfoItem
32+
from tableauserverclient.models.site_item import SiteItem
33+
from tableauserverclient.models.subscription_item import SubscriptionItem
34+
from tableauserverclient.models.table_item import TableItem
35+
from tableauserverclient.models.tableau_auth import Credentials, TableauAuth, PersonalAccessTokenAuth, JWTAuth
36+
from tableauserverclient.models.tableau_types import Resource, TableauItem, plural_type
37+
from tableauserverclient.models.tag_item import TagItem
38+
from tableauserverclient.models.target import Target
39+
from tableauserverclient.models.task_item import TaskItem
40+
from tableauserverclient.models.user_item import UserItem
41+
from tableauserverclient.models.view_item import ViewItem
42+
from tableauserverclient.models.webhook_item import WebhookItem
43+
from tableauserverclient.models.workbook_item import WorkbookItem
44+
45+
__all__ = [
46+
"ColumnItem",
47+
"ConnectionCredentials",
48+
"ConnectionItem",
49+
"Credentials",
50+
"CustomViewItem",
51+
"DataAccelerationReportItem",
52+
"DataAlertItem",
53+
"DatabaseItem",
54+
"DataFreshnessPolicyItem",
55+
"DatasourceItem",
56+
"DQWItem",
57+
"UnpopulatedPropertyError",
58+
"FavoriteItem",
59+
"FileuploadItem",
60+
"FlowItem",
61+
"FlowRunItem",
62+
"GroupItem",
63+
"IntervalItem",
64+
"JobItem",
65+
"DailyInterval",
66+
"WeeklyInterval",
67+
"MonthlyInterval",
68+
"HourlyInterval",
69+
"BackgroundJobItem",
70+
"MetricItem",
71+
"PaginationItem",
72+
"Permission",
73+
"PermissionsRule",
74+
"ProjectItem",
75+
"RevisionItem",
76+
"ScheduleItem",
77+
"ServerInfoItem",
78+
"SiteItem",
79+
"SubscriptionItem",
80+
"TableItem",
81+
"TableauAuth",
82+
"PersonalAccessTokenAuth",
83+
"JWTAuth",
84+
"Resource",
85+
"TableauItem",
86+
"plural_type",
87+
"TagItem",
88+
"Target",
89+
"TaskItem",
90+
"UserItem",
91+
"ViewItem",
92+
"WebhookItem",
93+
"WorkbookItem",
94+
]

tableauserverclient/models/tableau_auth.py

+1-14
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ def deprecate_site_attribute():
2828

2929
# The traditional auth type: username/password
3030
class TableauAuth(Credentials):
31-
def __init__(self, username, password, site=None, site_id=None, user_id_to_impersonate=None):
32-
if site is not None:
33-
deprecate_site_attribute()
34-
site_id = site
31+
def __init__(self, username, password, site_id=None, user_id_to_impersonate=None):
3532
super().__init__(site_id, user_id_to_impersonate)
3633
if password is None:
3734
raise TabError("Must provide a password when using traditional authentication")
@@ -49,16 +46,6 @@ def __repr__(self):
4946
uid = ""
5047
return f"<Credentials username={self.username} password=redacted (site={self.site_id}{uid})>"
5148

52-
@property
53-
def site(self):
54-
deprecate_site_attribute()
55-
return self.site_id
56-
57-
@site.setter
58-
def site(self, value):
59-
deprecate_site_attribute()
60-
self.site_id = value
61-
6249

6350
# A Tableau-generated Personal Access Token
6451
class PersonalAccessTokenAuth(Credentials):
+83-8
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,91 @@
11
# These two imports must come first
2-
from .request_factory import RequestFactory
3-
from .request_options import (
2+
from tableauserverclient.server.request_factory import RequestFactory
3+
from tableauserverclient.server.request_options import (
44
CSVRequestOptions,
55
ExcelRequestOptions,
66
ImageRequestOptions,
77
PDFRequestOptions,
88
RequestOptions,
99
)
10+
from tableauserverclient.server.filter import Filter
11+
from tableauserverclient.server.sort import Sort
12+
from tableauserverclient.server.server import Server
13+
from tableauserverclient.server.pager import Pager
14+
from tableauserverclient.server.endpoint.exceptions import NotSignedInError
1015

11-
from .filter import Filter
12-
from .sort import Sort
13-
from .endpoint import *
14-
from .server import Server
15-
from .pager import Pager
16-
from .endpoint.exceptions import NotSignedInError
16+
from tableauserverclient.server.endpoint import (
17+
Auth,
18+
CustomViews,
19+
DataAccelerationReport,
20+
DataAlerts,
21+
Databases,
22+
Datasources,
23+
QuerysetEndpoint,
24+
MissingRequiredFieldError,
25+
Endpoint,
26+
Favorites,
27+
Fileuploads,
28+
FlowRuns,
29+
Flows,
30+
FlowTasks,
31+
Groups,
32+
Jobs,
33+
Metadata,
34+
Metrics,
35+
Projects,
36+
Schedules,
37+
ServerInfo,
38+
ServerResponseError,
39+
Sites,
40+
Subscriptions,
41+
Tables,
42+
Tasks,
43+
Users,
44+
Views,
45+
Webhooks,
46+
Workbooks,
47+
)
48+
49+
__all__ = [
50+
"RequestFactory",
51+
"CSVRequestOptions",
52+
"ExcelRequestOptions",
53+
"ImageRequestOptions",
54+
"PDFRequestOptions",
55+
"RequestOptions",
56+
"Filter",
57+
"Sort",
58+
"Server",
59+
"Pager",
60+
"NotSignedInError",
61+
"Auth",
62+
"CustomViews",
63+
"DataAccelerationReport",
64+
"DataAlerts",
65+
"Databases",
66+
"Datasources",
67+
"QuerysetEndpoint",
68+
"MissingRequiredFieldError",
69+
"Endpoint",
70+
"Favorites",
71+
"Fileuploads",
72+
"FlowRuns",
73+
"Flows",
74+
"FlowTasks",
75+
"Groups",
76+
"Jobs",
77+
"Metadata",
78+
"Metrics",
79+
"Projects",
80+
"Schedules",
81+
"ServerInfo",
82+
"ServerResponseError",
83+
"Sites",
84+
"Subscriptions",
85+
"Tables",
86+
"Tasks",
87+
"Users",
88+
"Views",
89+
"Webhooks",
90+
"Workbooks",
91+
]

0 commit comments

Comments
 (0)