-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathdelete_site_command.py
33 lines (27 loc) · 1.12 KB
/
delete_site_command.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
31
32
33
import tableauserverclient as TSC
from tabcmd.commands.auth.session import Session
from tabcmd.commands.constants import Errors
from tabcmd.commands.server import Server
from tabcmd.execution.localize import _
from tabcmd.execution.logger_config import log
class DeleteSiteCommand(Server):
"""
Command to delete a site
"""
name: str = "deletesite"
description: str = _("deletesite.short_description")
@staticmethod
def define_args(delete_site_parser):
delete_site_parser.add_argument("site_name_to_delete", metavar="site-name", help="name of site to delete")
@staticmethod
def run_command(args):
logger = log(__class__.__name__, args.logging_level)
logger.debug(_("tabcmd.launching"))
session = Session()
server = session.create_session(args)
site_url = Server.get_site_by_name(logger, server, args.site_name_to_delete).content_url
try:
server.sites.delete(site_url)
logger.info("Successfully deleted the site")
except TSC.ServerResponseError as e:
Errors.exit_with_error(logger, "Error deleting site", e)