Skip to content
Merged
3 changes: 2 additions & 1 deletion tabcmd/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
try:
from tabcmd.tabcmd import main
except ImportError:
print("Tabcmd needs to be run as a module, it cannot be run as a script")
print("Error importing dependencies.")
print("Possible cause: Tabcmd needs to be run as a module, it cannot be run as a script")
print("Try running python -m tabcmd")
sys.exit(1)

Expand Down
9 changes: 5 additions & 4 deletions tabcmd/commands/datasources_and_workbooks/delete_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ class DeleteCommand(DatasourcesAndWorkbooks):

@staticmethod
def define_args(delete_parser):
delete_parser.add_argument("name", help=_("content_type.workbook") + "/" + _("content_type.datasource"))
set_ds_xor_wb_options(delete_parser)
set_project_r_arg(delete_parser)
set_parent_project_arg(delete_parser)
group = delete_parser.add_argument_group(title=DeleteCommand.name)
group.add_argument("name", help=_("content_type.workbook") + "/" + _("content_type.datasource"))
set_ds_xor_wb_options(group)
set_project_r_arg(group)
set_parent_project_arg(group)

@staticmethod
def run_command(args):
Expand Down
21 changes: 11 additions & 10 deletions tabcmd/commands/datasources_and_workbooks/export_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,22 @@ class ExportCommand(DatasourcesAndWorkbooks):

@staticmethod
def define_args(export_parser):
export_parser.add_argument("url", help="url of the workbook or view to export")
export_parser_group = export_parser.add_mutually_exclusive_group(required=True)
group = export_parser.add_argument_group(title=ExportCommand.name)
group.add_argument("url", help="url of the workbook or view to export")
export_parser_group = group.add_mutually_exclusive_group(required=True)
export_parser_group.add_argument("--pdf", action="store_true", help=_("export.options.pdf"))
export_parser_group.add_argument("--fullpdf", action="store_true", help=_("export.options.fullpdf"))
export_parser_group.add_argument("--png", action="store_true", help=_("export.options.png"))
export_parser_group.add_argument("--csv", action="store_true", help=_("export.options.csv"))

export_parser.add_argument(
group.add_argument(
"--pagelayout",
choices=["landscape", "portrait"],
type=str.lower,
default=None,
help="page orientation (landscape or portrait) of the exported PDF",
)
export_parser.add_argument(
group.add_argument(
"--pagesize",
choices=[
pagesize.A3,
Expand All @@ -47,16 +49,15 @@ def define_args(export_parser):
pagesize.Tabloid,
pagesize.Unspecified,
],
type=str.lower,
default="letter",
help="Set the page size of the exported PDF",
)

export_parser.add_argument(
"--width", default=800, help="Set the width of the image in pixels. Default is 800 px"
)
export_parser.add_argument("--filename", "-f", help="filename to store the exported data")
export_parser.add_argument("--height", default=600, help=_("export.options.height"))
export_parser.add_argument(
group.add_argument("--width", default=800, help="Set the width of the image in pixels. Default is 800 px")
group.add_argument("--filename", "-f", help="filename to store the exported data")
group.add_argument("--height", default=600, help=_("export.options.height"))
group.add_argument(
"--filter",
metavar="COLUMN:VALUE",
help="View filter to apply to the view",
Expand Down
5 changes: 3 additions & 2 deletions tabcmd/commands/datasources_and_workbooks/get_url_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ class GetUrl(DatasourcesAndWorkbooks):

@staticmethod
def define_args(get_url_parser):
get_url_parser.add_argument("url", help=_("refreshextracts.options.url"))
set_filename_arg(get_url_parser)
group = get_url_parser.add_argument_group(title=GetUrl.name)
group.add_argument("url", help=_("refreshextracts.options.url"))
set_filename_arg(group)
# these don't need arguments, although that would be a good future addition
# tabcmd get "/views/Finance/InvestmentGrowth.png?:size=640,480" -f growth.png
# tabcmd get "/views/Finance/InvestmentGrowth.png?:refresh=yes" -f growth.png
Expand Down
9 changes: 5 additions & 4 deletions tabcmd/commands/datasources_and_workbooks/publish_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@ class PublishCommand(DatasourcesAndWorkbooks):

@staticmethod
def define_args(publish_parser):
publish_parser.add_argument(
group = publish_parser.add_argument_group(title=PublishCommand.name)
group.add_argument(
"filename",
metavar="filename.twbx|tdsx|hyper",
# this is not actually a File type because we just pass the path to tsc
)
set_publish_args(publish_parser)
set_project_r_arg(publish_parser)
set_parent_project_arg(publish_parser)
set_publish_args(group)
set_project_r_arg(group)
set_parent_project_arg(group)

@staticmethod
def run_command(args):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ class RunSchedule(DatasourcesAndWorkbooks):

@staticmethod
def define_args(runschedule_parser):
runschedule_parser.add_argument("schedule", help=_("tabcmd.run_schedule.options.schedule"))
group = runschedule_parser.add_argument_group(title=RunSchedule.name)
group.add_argument("schedule", help=_("tabcmd.run_schedule.options.schedule"))

@staticmethod
def run_command(args):
Expand Down
13 changes: 7 additions & 6 deletions tabcmd/commands/extracts/create_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ class CreateExtracts(Server):

@staticmethod
def define_args(create_extract_parser):
set_ds_xor_wb_args(create_extract_parser)
set_embedded_datasources_options(create_extract_parser)
set_encryption_option(create_extract_parser)
set_project_arg(create_extract_parser)
set_parent_project_arg(create_extract_parser)
set_site_url_arg(create_extract_parser)
group = create_extract_parser.add_argument_group(title=CreateExtracts.name)
set_ds_xor_wb_args(group)
set_embedded_datasources_options(group)
set_encryption_option(group)
set_project_arg(group)
set_parent_project_arg(group)
set_site_url_arg(group)

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/extracts/decrypt_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ class DecryptExtracts(Server):

@staticmethod
def define_args(decrypt_extract_parser):
decrypt_extract_parser.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))
group = decrypt_extract_parser.add_argument_group(title=DecryptExtracts.name)
group.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))

@staticmethod
def run_command(args):
Expand Down
13 changes: 7 additions & 6 deletions tabcmd/commands/extracts/delete_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ class DeleteExtracts(Server):

@staticmethod
def define_args(delete_extract_parser):
set_ds_xor_wb_args(delete_extract_parser)
set_embedded_datasources_options(delete_extract_parser)
# set_encryption_option(delete_extract_parser)
set_project_arg(delete_extract_parser)
set_parent_project_arg(delete_extract_parser)
delete_extract_parser.add_argument("--url", help=_("createextracts.options.url"))
group = delete_extract_parser.add_argument_group(title=DeleteExtracts.name)
set_ds_xor_wb_args(group)
set_embedded_datasources_options(group)
# set_encryption_option(group)
set_project_arg(group)
set_parent_project_arg(group)
group.add_argument("--url", help=_("createextracts.options.url"))

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/extracts/encrypt_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class EncryptExtracts(Server):

@staticmethod
def define_args(encrypt_extract_parser):
encrypt_extract_parser.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))
group = encrypt_extract_parser.add_argument_group(title=EncryptExtracts.name)
group.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/extracts/reencrypt_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class ReencryptExtracts(Server):

@staticmethod
def define_args(reencrypt_extract_parser):
reencrypt_extract_parser.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))
group = reencrypt_extract_parser.add_argument_group(title=ReencryptExtracts.name)
group.add_argument("site_name", metavar="site-name", help=_("editsite.options.site-name"))

@staticmethod
def run_command(args):
Expand Down
12 changes: 7 additions & 5 deletions tabcmd/commands/extracts/refresh_extracts_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@ class RefreshExtracts(Server):

@staticmethod
def define_args(refresh_extract_parser):
possible_targets = set_ds_xor_wb_args(refresh_extract_parser)
group = refresh_extract_parser.add_argument_group(title=RefreshExtracts.name)
possible_targets = set_ds_xor_wb_args(group)
# hm, why did I do this instead of group.add_arg?
possible_targets.add_argument(
"--url",
help=_("createextracts.options.url"),
)
set_incremental_options(refresh_extract_parser)
set_calculations_options(refresh_extract_parser)
set_project_arg(refresh_extract_parser)
set_parent_project_arg(refresh_extract_parser)
set_incremental_options(group)
set_calculations_options(group)
set_project_arg(group)
set_parent_project_arg(group)

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/group/create_group_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ class CreateGroupCommand(Server):

@staticmethod
def define_args(create_group_parser):
create_group_parser.add_argument("name")
args_group = create_group_parser.add_argument_group(title=CreateGroupCommand.name)
args_group.add_argument("name")

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/group/delete_group_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ class DeleteGroupCommand(Server):

@staticmethod
def define_args(delete_group_parser):
delete_group_parser.add_argument("name")
args_group = delete_group_parser.add_argument_group(title=DeleteGroupCommand.name)
args_group.add_argument("name")

@staticmethod
def run_command(args):
Expand Down
Empty file removed tabcmd/commands/help/__init__.py
Empty file.
74 changes: 0 additions & 74 deletions tabcmd/commands/help/help_command.py

This file was deleted.

3 changes: 2 additions & 1 deletion tabcmd/commands/project/create_project_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class CreateProjectCommand(Server):

@staticmethod
def define_args(create_project_parser):
create_project_parser.add_argument(
args_group = create_project_parser.add_argument_group(title=CreateProjectCommand.name)
args_group.add_argument(
"--name", "-n", dest="project_name", required=True, help=_("createproject.options.name")
)
set_parent_project_arg(create_project_parser)
Expand Down
5 changes: 3 additions & 2 deletions tabcmd/commands/project/delete_project_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ class DeleteProjectCommand(Server):

@staticmethod
def define_args(delete_project_parser):
delete_project_parser.add_argument("project_name", metavar="project-name", help=_("createproject.options.name"))
set_parent_project_arg(delete_project_parser)
args_group = delete_project_parser.add_argument_group(title=DeleteProjectCommand.name)
args_group.add_argument("project_name", metavar="project-name", help=_("createproject.options.name"))
set_parent_project_arg(args_group)

@staticmethod
def run_command(args):
Expand Down
5 changes: 3 additions & 2 deletions tabcmd/commands/project/publish_samples_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ class PublishSamplesCommand(Server):

@staticmethod
def define_args(publish_samples_parser):
publish_samples_parser.add_argument(
args_group = publish_samples_parser.add_argument_group(title=PublishSamplesCommand.name)
args_group.add_argument(
"--name",
"-n",
dest="project_name",
required=True,
)
set_parent_project_arg(publish_samples_parser) # args.parent_project_name
set_parent_project_arg(args_group) # args.parent_project_name

@staticmethod
def run_command(args):
Expand Down
5 changes: 3 additions & 2 deletions tabcmd/commands/site/create_site_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ class CreateSiteCommand(Server):

@staticmethod
def define_args(create_site_parser):
create_site_parser.add_argument("new_site_name", metavar="site-name", help=_("editsite.options.site-name"))
set_common_site_args(create_site_parser)
args_group = create_site_parser.add_argument_group(title=CreateSiteCommand.name)
args_group.add_argument("new_site_name", metavar="site-name", help=_("editsite.options.site-name"))
set_common_site_args(args_group)

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/site/delete_site_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ class DeleteSiteCommand(Server):

@staticmethod
def define_args(delete_site_parser):
delete_site_parser.add_argument("site_name_to_delete", metavar="site-name", help=strings[2])
args_group = delete_site_parser.add_argument_group(title=DeleteSiteCommand.name)
args_group.add_argument("site_name_to_delete", metavar="site-name", help=strings[2])

@staticmethod
def run_command(args):
Expand Down
12 changes: 5 additions & 7 deletions tabcmd/commands/site/edit_site_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,11 @@ class EditSiteCommand(Server):

@staticmethod
def define_args(edit_site_parser):
edit_site_parser.add_argument("site_name", metavar="site-name", help="editsite.options.site-name")
edit_site_parser.add_argument(
"--site-name", default=None, dest="new_site_name", help=_("editsite.options.site-name")
)

set_common_site_args(edit_site_parser)
set_site_status_arg(edit_site_parser)
args_group = edit_site_parser.add_argument_group(title=EditSiteCommand.name)
args_group.add_argument("site_name", metavar="site-name", help="editsite.options.site-name")
args_group.add_argument("--site-name", default=None, dest="new_site_name", help=_("editsite.options.site-name"))
set_common_site_args(args_group)
set_site_status_arg(args_group)

@staticmethod
def run_command(args):
Expand Down
3 changes: 2 additions & 1 deletion tabcmd/commands/site/list_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class ListCommand(Server):

@staticmethod
def define_args(list_parser):
list_parser.add_argument("content", choices=["projects", "workbooks", "datasources"], help="View content")
args_group = list_parser.add_argument_group(title=ListCommand.name)
args_group.add_argument("content", choices=["projects", "workbooks", "datasources"], help="View content")

@staticmethod
def run_command(args):
Expand Down
Loading