-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathextracts.py
30 lines (25 loc) · 1.26 KB
/
extracts.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from tabcmd.commands.constants import Errors
from tabcmd.commands.datasources_and_workbooks.datasources_and_workbooks_command import DatasourcesAndWorkbooks
from tabcmd.commands.server import Server
from tabcmd.execution.localize import _
import tableauserverclient as TSC
class Extracts(Server):
@staticmethod
def get_wb_or_ds_for_extracts(args, logger, server):
container = Server.get_project_by_name_and_parent_path(
logger, server, args.project_name, args.parent_project_path
)
if args.datasource:
logger.debug(_("export.status").format(args.datasource))
datasource = Server.get_data_source_item(logger, server, args.datasource, container)
return datasource
elif args.workbook or args.url:
if args.workbook:
workbook_item: TSC.WorkbookItem = Server.get_workbook_item(logger, server, args.workbook, container)
else:
workbook_item: TSC.WorkbookItem = DatasourcesAndWorkbooks.get_wb_by_content_url(
logger, server, args.url
)
logger.info(_("export.status").format(workbook_item.name))
return workbook_item
Errors.exit_with_error(logger, "Datasource or workbook required")