8000 mypy no-implicit-optional by jacalata · Pull Request #1151 · tableau/server-client-python · GitHub
[go: up one dir, main page]

Skip to content

mypy no-implicit-optional #1151

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

Merged
merged 1 commit into from
Dec 13, 2022
Merged
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion tableauserverclient/models/datasource_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class AskDataEnablement:
Disabled = "Disabled"
SiteDefault = "SiteDefault"

def __init__(self, project_id: str, name: str = None) -> None:
def __init__(self, project_id: str, name: Optional[str] = None) -> None:
self._ask_data_enablement = None
self._certified = None
self._certification_note = None
Expand Down
6 changes: 3 additions & 3 deletions tableauserverclient/models/site_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ def __init__(
self,
name: str,
content_url: str,
admin_mode: str = None,
user_quota: int = None,
storage_quota: int = None,
admin_mode: Optional[str] = None,
user_quota: Optional[int] = None,
storage_quota: Optional[int] = None,
disable_sub 10000 scriptions: bool = False,
subscribe_others_enabled: bool = True,
revision_history_enabled: bool = False,
Expand Down
2 changes: 1 addition & 1 deletion tableauserverclient/models/workbook_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@


class WorkbookItem(object):
def __init__(self, project_id: str, name: str = None, show_tabs: bool = False) -> None:
def __init__(self, project_id: str, name: Optional[str] = None, show_tabs: bool = False) -> None:
self._connections = None
self._content_url = None
self._webpage_url = None
Expand Down
8 changes: 4 additions & 4 deletions tableauserverclient/server/endpoint/datasources_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def baseurl(self) -> str:

# Get all datasources
@api(version="2.0")
def get(self, req_options: RequestOptions = None) -> Tuple[List[DatasourceItem], PaginationItem]:
def get(self, req_options: Optional[RequestOptions] = None) -> Tuple[List[DatasourceItem], PaginationItem]:
logger.info("Querying all datasources on site")
url = self.baseurl
server_response = self.get_request(url, req_options)
Expand Down Expand Up @@ -135,7 +135,7 @@ def delete(self, datasource_id: str) -> None:
def download(
self,
datasource_id: str,
filepath: FilePath = None,
filepath: Optional[FilePath] = None,
include_extract: bool = True,
no_extract: Optional[bool] = None,
) -> str:
Expand Down Expand Up @@ -234,8 +234,8 @@ def publish(
datasource_item: DatasourceItem,
file: PathOrFile,
mode: str,
connection_credentials: ConnectionCredentials = None,
connections: Sequence[ConnectionItem] = None,
connection_credentials: Optional[ConnectionCredentials] = None,
connections: Optional[Sequence[ConnectionItem]] = None,
as_job: bool = False,
) -> Union[DatasourceItem, JobItem]:

Expand Down
2 changes: 1 addition & 1 deletion tableauserverclient/server/endpoint/endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def _make_request(

return server_response

def _check_status(self, server_response, url: str = None):
def _check_status(self, server_response, url: Optional[str] = None):
if server_response.status_code >= 500:
raise InternalServerError(server_response, url)
elif server_response.status_code not in Success_codes:
Expand Down
3 changes: 2 additions & 1 deletion tableauserverclient/server/endpoint/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from defusedxml.ElementTree import fromstring
from typing import Optional


class TableauError(Exception):
Expand Down Expand Up @@ -33,7 +34,7 @@ def from_response(cls, resp, ns, url=None):


class InternalServerError(TableauError):
def __init__(self, server_response, request_url: str = None):
def __init__(self, server_response, request_url: Optional[str] = None):
self.code = server_response.status_code
self.content = server_response.content
self.url = request_url or "server"
Expand Down
2 changes: 1 addition & 1 deletion tableauserverclient/server/endpoint/flows_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def delete(self, flow_id: str) -> None:

# Download 1 flow by id
@api(version="3.3")
def download(self, flow_id: str, filepath: FilePath = None) -> str:
def download(self, flow_id: str, filepath: Optional[FilePath] = None) -> str:
if not flow_id:
error = "Flow ID undefined."
raise ValueError(error)
Expand Down
4 changes: 2 additions & 2 deletions tableauserverclient/server/endpoint/permissions_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from .exceptions import MissingRequiredFieldError

from ...models import TableauItem
from typing import Callable, TYPE_CHECKING, List, Union
from typing import Optional, Callable, TYPE_CHECKING, List, Union

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -82,7 +82,7 @@ def permission_fetcher():
item._set_permissions(permission_fetcher)
logger.info("Populated permissions for item (ID: {0})".format(item.id))

def _get_permissions(self, item: TableauItem, req_options: "RequestOptions" = None):
def _get_permissions(self, item: TableauItem, req_options: Optional["RequestOptions"] = None):
url = "{0}/{1}/permissions".format(self.owner_baseurl(), item.id)
server_response = self.get_request(url, req_options)
permissions = PermissionsRule.from_response(server_response.content, self.parent_srv.namespace)
Expand Down
8 changes: 4 additions & 4 deletions tableauserverclient/server/endpoint/schedules_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@ def create(self, schedule_item: ScheduleItem) -> ScheduleItem:
def add_to_schedule(
self,
schedule_id: str,
workbook: "WorkbookItem" = None,
datasource: "DatasourceItem" = None,
flow: "FlowItem" = None,
task_type: str = None,
workbook: Optional["WorkbookItem"] = None,
datasource: Optional["DatasourceItem"] = None,
flow: Optional["FlowItem"] = None,
task_type: Optional[str] = None,
) -> List[AddResponse]:

# There doesn't seem to be a good reason to allow one item of each type?
Expand Down
F438
12 changes: 6 additions & 6 deletions tableauserverclient/server/endpoint/users_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def baseurl(self) -> str:

# Gets all users
@api(version="2.0")
def get(self, req_options: RequestOptions = None) -> Tuple[List[UserItem], PaginationItem]:
def get(self, req_options: Optional[RequestOptions] = None) -> Tuple[List[UserItem], PaginationItem]:
logger.info("Querying all users on site")

if req_options is None:
Expand All @@ -47,7 +47,7 @@ def get_by_id(self, user_id: str) -> UserItem:

# Update user
@api(version="2.0")
def update(self, user_item: UserItem, password: str = None) -> UserItem:
def update(self, user_item: UserItem, password: Optional[str] = None) -> UserItem:
if not user_item.id:
error = "User item missing ID."
raise MissingRequiredFieldError(error)
Expand Down Expand Up @@ -122,7 +122,7 @@ def create_from_file(self, filepath: str) -> Tuple[List[UserItem], List[Tuple[Us

# Get workbooks for user
@api(version="2.0")
def populate_workbooks(self, user_item: UserItem, req_options: RequestOptions = None) -> None:
def populate_workbooks(self, user_item: UserItem, req_options: Optional[RequestOptions] = None) -> None:
if not user_item.id:
error = "User item missing ID."
raise MissingRequiredFieldError(error)
Expand All @@ -133,7 +133,7 @@ def wb_pager():
user_item._set_workbooks(wb_pager)

def _get_wbs_for_user(
self, user_item: UserItem, req_options: RequestOptions = None
self, user_item: UserItem, req_options: Optional[RequestOptions] = None
) -> Tuple[List[WorkbookItem], PaginationItem]:
url = "{0}/{1}/workbooks".format(self.baseurl, user_item.id)
server_response = self.get_request(url, req_options)
Expand All @@ -147,7 +147,7 @@ def populate_favorites(self, user_item: UserItem) -> None:

# Get groups for user
@api(version="3.7")
def populate_groups(self, user_item: UserItem, req_options: RequestOptions = None) -> None:
def populate_groups(self, user_item: UserItem, req_options: Optional[RequestOptions] = None) -> None:
if not user_item.id:
error = "User item missing ID."
raise MissingRequiredFieldError(error)
Expand All @@ -161,7 +161,7 @@ def groups_for_user_pager():
user_item._set_groups(groups_for_user_pager)

def _get_groups_for_user(
self, user_item: UserItem, req_options: RequestOptions = None
self, user_item: UserItem, req_options: Optional[RequestOptions] = None
) -> Tuple[List[GroupItem], PaginationItem]:
url = "{0}/{1}/groups".format(self.baseurl, user_item.id)
server_response = self.get_request(url, req_options)
Expand Down
6 changes: 3 additions & 3 deletions tableauserverclient/server/endpoint/workbooks_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ def update_connection(self, workbook_item: WorkbookItem, connection_item: Connec
def download(
self,
workbook_id: str,
filepath: FilePath = None,
filepath: Optional[FilePath] = None,
include_extract: bool = True,
no_extract: Optional[bool] = None,
) -> str:
Expand Down Expand Up @@ -250,7 +250,7 @@ def connection_fetcher():
logger.info("Populated connections for workbook (ID: {0})".format(workbook_item.id))

def _get_workbook_connections(
self, workbook_item: WorkbookItem, req_options: "RequestOptions" = None
self, workbook_item: WorkbookItem, req_options: Optional["RequestOptions"] = None
) -> List[ConnectionItem]:
url = "{0}/{1}/connections".format(self.baseurl, workbook_item.id)
server_response = self.get_request(url, req_options)
Expand All @@ -259,7 +259,7 @@ def _get_workbook_connections(

# Get the pdf of the entire workbook if its tabs are enabled, pdf of the default view if its tabs are disabled
@api(version="3.4")
def populate_pdf(self, workbook_item: WorkbookItem, req_options: "RequestOptions" = None) -> None:
def populate_pdf(self, workbook_item: WorkbookItem, req_options: Optional["RequestOptions"] = None) -> None:
if not workbook_item.id:
error = "Workbook item missing ID."
raise MissingRequiredFieldError(error)
Expand Down
4 changes: 2 additions & 2 deletions tableauserverclient/server/request_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ def add_flow_req(self, id_: Optional[str], task_type: str = TaskItem.Type.RunFlo


class SiteRequest(object):
def update_req(self, site_item: "SiteItem", parent_srv: "Server" = None):
def update_req(self, site_item: "SiteItem", parent_srv: Optional["Server"] = None):
xml_request = ET.Element("tsRequest")
site_element = ET.SubElement(xml_request, "site")
if site_item.name:
Expand Down Expand Up @@ -683,7 +683,7 @@ def update_req(self, site_item: "SiteItem", parent_srv: "Server" = None):
return ET.tostring(xml_request)

# server: the site request model changes based on api version
def create_req(self, site_item: "SiteItem", parent_srv: "Server" = None):
def create_req(self, site_item: "SiteItem", parent_srv: Optional["Server"] = None):
xml_request = ET.Element("tsRequest")
site_element = ET.SubElement(xml_request, "site")
site_element.attrib["name"] = site_item.name< 416B /span>
Expand Down
0