Skip to content
This repository was archived by the owner on Aug 11, 2020. It is now read-only.

Commit 1c8e5dc

Browse files
BartoszCkiMudlaffP
authored andcommitted
Fix coloring help messages and suggesting command names to all groups
1 parent e083ee2 commit 1c8e5dc

File tree

8 files changed

+138
-71
lines changed

8 files changed

+138
-71
lines changed

Pipfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ click = "*"
1515
terminaltables = "*"
1616
click-didyoumean = "*"
1717
click-help-colors = "*"
18-
tox = "*"
18+
colorama = "*"
1919

2020
[dev-packages]
2121
twine = "*"
2222
pypandoc = "*"
2323
pytest = "*"
2424
mock = "*"
2525
coverage = "*"
26+
tox = "*"

Pipfile.lock

Lines changed: 101 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

paperspace/cli/__init__.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import click
2+
import colorama
3+
from click._compat import get_text_stderr
4+
5+
import paperspace.cli.jobs
6+
import paperspace.cli.models
7+
import paperspace.cli.projects
8+
9+
10+
def show(self, file=None):
11+
if file is None:
12+
file = get_text_stderr()
13+
color = None
14+
hint = ''
15+
if (self.cmd is not None and
16+
self.cmd.get_help_option(self.ctx) is not None):
17+
hint = ('Try "%s %s" for help.\n'
18+
% (self.ctx.command_path, self.ctx.help_option_names[0]))
19+
if self.ctx is not None:
20+
color = self.ctx.color
21+
click.echo(self.ctx.get_usage() + '\n%s' % hint, file=file, color=color)
22+
msg = colorama.Fore.RED + 'Error: %s' % self.format_message() + colorama.Style.RESET_ALL
23+
click.echo(msg, file=file, color=color)
24+
25+
26+
# not-very-elegant way to color click's error messages
27+
click.exceptions.UsageError.show = show

paperspace/cli/cli.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@
55

66
from paperspace import constants, client, config
77
from paperspace.cli import common
8-
from paperspace.cli.common import api_key_option, del_if_value_is_none
9-
from paperspace.cli.jobs import jobs_group
10-
from paperspace.cli.models import models_group
11-
from paperspace.cli.projects import projects_group
128
from paperspace.cli.cli_types import ChoiceType, json_string
9+
from paperspace.cli.common import api_key_option, del_if_value_is_none
1310
from paperspace.cli.validators import validate_mutually_exclusive, validate_email
1411
from paperspace.commands import experiments as experiments_commands, deployments as deployments_commands, \
1512
machines as machines_commands, login as login_commands
@@ -1064,10 +1061,5 @@ def version():
10641061
command.execute()
10651062

10661063

1067-
cli.add_command(jobs_group)
1068-
cli.add_command(projects_group)
1069-
cli.add_command(models_group)
1070-
1071-
10721064
if __name__ == '__main__':
10731065
cli()

paperspace/cli/jobs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
from paperspace import client, config
44
from paperspace.cli import common
5+
from paperspace.cli.cli import cli
56
from paperspace.commands import jobs as jobs_commands
67

78

8-
@click.group("jobs", help="Manage gradient jobs", cls=common.ClickGroup)
9+
@cli.group("jobs", help="Manage gradient jobs", cls=common.ClickGroup)
910
def jobs_group():
1011
pass
1112

paperspace/cli/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
from paperspace import client, config
44
from paperspace.cli import common
5+
from paperspace.cli.cli import cli
56
from paperspace.commands import models as models_commands
67

78

8-
@click.group("models", help="Manage models", cls=common.ClickGroup)
9+
@cli.group("models", help="Manage models", cls=common.ClickGroup)
910
def models_group():
1011
pass
1112

paperspace/cli/projects.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
import click
2-
31
from paperspace import client, config
2+
from paperspace.cli.cli import cli
43
from paperspace.commands import projects as projects_commands
54
from . import common
65

76

8-
@click.group("projects", help="Manage projects", cls=common.ClickGroup)
7+
@cli.group("projects", help="Manage projects", cls=common.ClickGroup)
98
def projects_group():
109
pass
1110

setup.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,8 @@
5050
'terminaltables',
5151
'click-didyoumean',
5252
'click-help-colors',
53+
'colorama',
5354
],
54-
extras_require={
55-
':sys_platform == "win32"': [
56-
'colorama',
57-
],
58-
},
5955
entry_points={'console_scripts': [
6056
'paperspace-python = paperspace.main:main',
6157
]},

0 commit comments

Comments
 (0)