Skip to content

Commit b184ba1

Browse files
authored
Jac/absolute imports (#1193)
* make imports absolute was: "from ..models import x" now: "from tableauserverclient.models import x" * IntelliJ optimize imports also some manual work this will make it easier to split them into properly independent modules
1 parent ad78db4 commit b184ba1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+220
-383
lines changed

.github/workflows/code-coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
os: [ubuntu-latest, macos-latest, windows-latest]
13+
os: [ubuntu-latest]
1414
python-version: ['3.10']
1515

1616
runs-on: ${{ matrix.os }}

tableauserverclient/__init__.py

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,6 @@
11
from ._version import get_versions
22
from .namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
3-
from .models import (
4-
BackgroundJobItem,
5-
ColumnItem,
6-
ConnectionCredentials,
7-
ConnectionItem,
8-
DQWItem,
9-
DailyInterval,
10-
DataAlertItem,
11-
DatabaseItem,
12-
DatasourceItem,
13-
FlowItem,
14-
FlowRunItem,
15-
GroupItem,
16-
HourlyInterval,
17-
IntervalItem,
18-
JobItem,
19-
MetricItem,
20-
MonthlyInterval,
21-
PaginationItem,
22-
Permission,
23-
PermissionsRule,
24-
PersonalAccessTokenAuth,
25-
ProjectItem,
26-
RevisionItem,
27-
ScheduleItem,
28-
SiteItem,
29-
SubscriptionItem,
30-
TableItem,
31-
TableauAuth,
32-
Target,
33-
TaskItem,
34-
UnpopulatedPropertyError,
35-
UserItem,
36-
ViewItem,
37-
WebhookItem,
38-
WeeklyInterval,
39-
WorkbookItem,
40-
)
3+
from .models import *
414
from .server import (
425
CSVRequestOptions,
436
ExcelRequestOptions,

tableauserverclient/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from .dqw_item import DQWItem
99
from .exceptions import UnpopulatedPropertyError
1010
from .favorites_item import FavoriteItem
11+
from .fileupload_item import FileuploadItem
1112
from .flow_item import FlowItem
1213
from .flow_run_item import FlowRunItem
1314
from .group_item import GroupItem
@@ -31,6 +32,7 @@
3132
from .table_item import TableItem
3233
from .tableau_auth import Credentials, TableauAuth, PersonalAccessTokenAuth
3334
from .tableau_types import Resource, TableauItem, plural_type
35+
from .tag_item import TagItem
3436
from .target import Target
3537
from .task_item import TaskItem
3638
from .user_item import UserItem

tableauserverclient/models/connection_item.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
from typing import TYPE_CHECKING, List, Optional
1+
from typing import List, Optional
2+
23
from defusedxml.ElementTree import fromstring
34

45
from .connection_credentials import ConnectionCredentials
56

6-
if TYPE_CHECKING:
7-
from tableauserverclient.models.connection_credentials import ConnectionCredentials
8-
97

108
class ConnectionItem(object):
119
def __init__(self):
@@ -18,7 +16,7 @@ def __init__(self):
1816
self.server_address: Optional[str] = None
1917
self.server_port: Optional[str] = None
2018
self.username: Optional[str] = None
21-
self.connection_credentials: Optional["ConnectionCredentials"] = None
19+
self.connection_credentials: Optional[ConnectionCredentials] = None
2220

2321
@property
2422
def datasource_id(self) -> Optional[str]:

tableauserverclient/models/data_alert_item.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
from typing import List, Optional, TYPE_CHECKING
1+
from datetime import datetime
2+
from typing import List, Optional
23

34
from defusedxml.ElementTree import fromstring
45

@@ -8,15 +9,6 @@
89
property_is_boolean,
910
)
1011

11-
if TYPE_CHECKING:
12-
from datetime import datetime
13-
14-
15-
from typing import List, Optional, TYPE_CHECKING
16-
17-
if TYPE_CHECKING:
18-
from datetime import datetime
19-
2012

2113
class DataAlertItem(object):
2214
class Frequency:
@@ -30,8 +22,8 @@ def __init__(self):
3022
self._id: Optional[str] = None
3123
self._subject: Optional[str] = None
3224
self._creatorId: Optional[str] = None
33-
self._createdAt: Optional["datetime"] = None
34-
self._updatedAt: Optional["datetime"] = None
25+
self._createdAt: Optional[datetime] = None
26+
self._updatedAt: Optional[datetime] = None
3527
self._frequency: Optional[str] = None
3628
self._public: Optional[bool] = None
3729
self._owner_id: Optional[str] = None
@@ -90,11 +82,11 @@ def recipients(self) -> List[str]:
9082
return self._recipients or list()
9183

9284
@property
93-
def createdAt(self) -> Optional["datetime"]:
85+
def createdAt(self) -> Optional[datetime]:
9486
return self._createdAt
9587

9688
@property
97-
def updatedAt(self) -> Optional["datetime"]:
89+
def updatedAt(self) -> Optional[datetime]:
9890
return self._updatedAt
9991

10092
@property

tableauserverclient/models/datasource_item.py

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,21 @@
11
import copy
2+
import datetime
23
import xml.etree.ElementTree as ET
3-
from typing import Dict, List, Optional, Set, Tuple, TYPE_CHECKING
4+
from typing import Dict, List, Optional, Set, Tuple
45

56
from defusedxml.ElementTree import fromstring
67

8+
from tableauserverclient.datetime_helpers import parse_datetime
9+
from .connection_item import ConnectionItem
710
from .exceptions import UnpopulatedPropertyError
11+
from .permissions_item import PermissionsRule
812
from .property_decorators import (
913
property_not_nullable,
1014
property_is_boolean,
1115
property_is_enum,
1216
)
17+
from .revision_item import RevisionItem
1318
from .tag_item import TagItem
14-
from ..datetime_helpers import parse_datetime
15-
16-
if TYPE_CHECKING:
17-
from .permissions_item import PermissionsRule
18-
from .connection_item import ConnectionItem
19-
from .revision_item import RevisionItem
20-
import datetime
21-
22-
from typing import Dict, List, Optional, Set, Tuple, TYPE_CHECKING, Union
23-
24-
if TYPE_CHECKING:
25-
from .permissions_item import PermissionsRule
26-
from .connection_item import ConnectionItem
27-
from .revision_item import RevisionItem
28-
import datetime
2919

3020

3121
class DatasourceItem(object):
@@ -64,23 +54,23 @@ def __init__(self, project_id: str, name: Optional[str] = None) -> None:
6454
return None
6555

6656
@property
67-
def ask_data_enablement(self) -> Optional["DatasourceItem.AskDataEnablement"]:
57+
def ask_data_enablement(self) -> Optional[AskDataEnablement]:
6858
return self._ask_data_enablement
6959

7060
@ask_data_enablement.setter
7161
@property_is_enum(AskDataEnablement)
72-
def ask_data_enablement(self, value: Optional["DatasourceItem.AskDataEnablement"]):
62+
def ask_data_enablement(self, value: Optional[AskDataEnablement]):
7363
self._ask_data_enablement = value
7464

7565
@property
76-
def connections(self) -> Optional[List["ConnectionItem"]]:
66+
def connections(self) -> Optional[List[ConnectionItem]]:
7767
if self._connections is None:
7868
error = "Datasource item must be populated with connections first."
7969
raise UnpopulatedPropertyError(error)
8070
return self._connections()
8171

8272
@property
83-
def permissions(self) -> Optional[List["PermissionsRule"]]:
73+
def permissions(self) -> Optional[List[PermissionsRule]]:
8474
if self._permissions is None:
8575
error = "Project item must be populated with permissions first."
8676
raise UnpopulatedPropertyError(error)
@@ -91,7 +81,7 @@ def content_url(self) -> Optional[str]:
9181
return self._content_url
9282

9383
@property
94-
def created_at(self) -> Optional["datetime.datetime"]:
84+
def created_at(self) -> Optional[datetime.datetime]:
9585
return self._created_at
9686

9787
@property
@@ -162,7 +152,7 @@ def description(self, value: str):
162152
self._description = value
163153

164154
@property
165-
def updated_at(self) -> Optional["datetime.datetime"]:
155+
def updated_at(self) -> Optional[datetime.datetime]:
166156
return self._updated_at
167157

168158
@property
@@ -179,7 +169,7 @@ def webpage_url(self) -> Optional[str]:
179169
return self._webpage_url
180170

181171
@property
182-
def revisions(self) -> List["RevisionItem"]:
172+
def revisions(self) -> List[RevisionItem]:
183173
if self._revisions is None:
184174
error = "Datasource item must be populated with revisions first."
185175
raise UnpopulatedPropertyError(error)

tableauserverclient/models/dqw_item.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from defusedxml.ElementTree import fromstring
22

3-
from ..datetime_helpers import parse_datetime
3+
from tableauserverclient.datetime_helpers import parse_datetime
44

55

66
class DQWItem(object):

tableauserverclient/models/flow_item.py

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,36 @@
11
import copy
2+
import datetime
23
import xml.etree.ElementTree as ET
3-
from typing import List, Optional, TYPE_CHECKING, Set
4+
from typing import List, Optional, Set
45

56
from defusedxml.ElementTree import fromstring
67

8+
from tableauserverclient.datetime_helpers import parse_datetime
9+
from .connection_item import ConnectionItem
10+
from .dqw_item import DQWItem
711
from .exceptions import UnpopulatedPropertyError
12+
from .permissions_item import Permission
813
from .property_decorators import property_not_nullable
914
from .tag_item import TagItem
10-
from ..datetime_helpers import parse_datetime
11-
12-
if TYPE_CHECKING:
13-
import datetime
14-
15-
from typing import List, Optional, TYPE_CHECKING, Set
16-
17-
if TYPE_CHECKING:
18-
import datetime
19-
from .connection_item import ConnectionItem
20-
from .permissions_item import Permission
21-
from .dqw_item import DQWItem
2215

2316

2417
class FlowItem(object):
2518
def __init__(self, project_id: str, name: Optional[str] = None) -> None:
2619
self._webpage_url: Optional[str] = None
27-
self._created_at: Optional["datetime.datetime"] = None
20+
self._created_at: Optional[datetime.datetime] = None
2821
self._id: Optional[str] = None
2922
self._initial_tags: Set[str] = set()
3023
self._project_name: Optional[str] = None
31-
self._updated_at: Optional["datetime.datetime"] = None
24+
self._updated_at: Optional[datetime.datetime] = None
3225
self.name: Optional[str] = name
3326
self.owner_id: Optional[str] = None
3427
self.project_id: str = project_id
3528
self.tags: Set[str] = set()
3629
self.description: Optional[str] = None
3730

38-
self._connections = None
39-
self._permissions = None
40-
self._data_quality_warnings = None
31+
self._connections: Optional[ConnectionItem] = None
32+
self._permissions: Optional[Permission] = None
33+
self._data_quality_warnings: Optional[DQWItem] = None
4134

4235
@property
4336
def connections(self):
@@ -58,7 +51,7 @@ def webpage_url(self) -> Optional[str]:
5851
return self._webpage_url
5952

6053
@property
61-
def created_at(self) -> Optional["datetime.datetime"]:
54+
def created_at(self) -> Optional[datetime.datetime]:
6255
return self._created_at
6356

6457
@property
@@ -94,7 +87,7 @@ def project_name(self) -> Optional[str]:
9487
return self._project_name
9588

9689
@property
97-
def updated_at(self) -> Optional["datetime.datetime"]:
90+
def updated_at(self) -> Optional[datetime.datetime]:
9891
return self._updated_at
9992

10093
def _set_connections(self, connections):

tableauserverclient/models/flow_run_item.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
11
import itertools
2-
from typing import Dict, List, Optional, Type, TYPE_CHECKING
2+
from datetime import datetime
3+
from typing import Dict, List, Optional, Type
34

45
from defusedxml.ElementTree import fromstring
56

6-
from ..datetime_helpers import parse_datetime
7-
8-
if TYPE_CHECKING:
9-
from datetime import datetime
10-
11-
from typing import Dict, List, Optional, Type, TYPE_CHECKING
12-
13-
if TYPE_CHECKING:
14-
from datetime import datetime
7+
from tableauserverclient.datetime_helpers import parse_datetime
158

169

1710
class FlowRunItem(object):
1811
def __init__(self) -> None:
1912
self._id: str = ""
2013
self._flow_id: Optional[str] = None
2114
self._status: Optional[str] = None
22-
self._started_at: Optional["datetime"] = None
23-
self._completed_at: Optional["datetime"] = None
15+
self._started_at: Optional[datetime] = None
16+
self._completed_at: Optional[datetime] = None
2417
self._progress: Optional[str] = None
2518
self._background_job_id: Optional[str] = None
2619

@@ -37,11 +30,11 @@ def status(self) -> Optional[str]:
3730
return self._status
3831

3932
@property
40-
def started_at(self) -> Optional["datetime"]:
33+
def started_at(self) -> Optional[datetime]:
4134
return self._started_at
4235

4336
@property
44-
def completed_at(self) -> Optional["datetime"]:
37+
def completed_at(self) -> Optional[datetime]:
4538
return self._completed_at
4639

4740
@property

tableauserverclient/models/group_item.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from .user_item import UserItem
99

1010
if TYPE_CHECKING:
11-
from ..server import Pager
11+
from tableauserverclient.server import Pager
1212

1313

1414
class GroupItem(object):

0 commit comments

Comments
 (0)