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

Commit e640ebe

Browse files
committed
Add colors to help and log errors in red
1 parent 47868f6 commit e640ebe

File tree

16 files changed

+122
-61
lines changed

16 files changed

+122
-61
lines changed

Pipfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ gradient-statsd = "*"
1414
click = "*"
1515
terminaltables = "*"
1616
click-didyoumean = "*"
17+
click-help-colors = "*"
1718

1819
[dev-packages]
1920
twine = "*"

Pipfile.lock

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

paperspace/cli/cli.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33

44
import click
55

6-
from click_didyoumean import DYMGroup
7-
86
from paperspace import constants, client, config
7+
from paperspace.cli import common
98
from paperspace.cli.common import api_key_option, del_if_value_is_none
109
from paperspace.cli.jobs import jobs_group
1110
from paperspace.cli.models import models_group
@@ -23,22 +22,22 @@
2322
)
2423

2524

26-
@click.group(cls=DYMGroup)
25+
@click.group(cls=common.ClickGroup, **config.HELP_COLORS_DICT)
2726
def cli():
2827
pass
2928

3029

31-
@cli.group("experiments", help="Manage experiments", cls=DYMGroup)
30+
@cli.group("experiments", help="Manage experiments", cls=common.ClickGroup)
3231
def experiments():
3332
pass
3433

3534

36-
@experiments.group("create", help="Create new experiment", cls=DYMGroup)
35+
@experiments.group("create", help="Create new experiment", cls=common.ClickGroup)
3736
def create_experiment():
3837
pass
3938

4039

41-
@experiments.group(name="createAndStart", help="Create and start new experiment", cls=DYMGroup)
40+
@experiments.group(name="createAndStart", help="Create and start new experiment", cls=common.ClickGroup)
4241
def create_and_start_experiment():
4342
pass
4443

@@ -330,7 +329,7 @@ def get_experiment_details(experiment_handle, api_key):
330329
)
331330

332331

333-
@cli.group("deployments", help="Manage deployments", cls=DYMGroup)
332+
@cli.group("deployments", help="Manage deployments", cls=common.ClickGroup)
334333
def deployments():
335334
pass
336335

@@ -499,7 +498,7 @@ def delete_deployment(id_, api_key=None):
499498
)
500499

501500

502-
@cli.group("machines", help="Manage machines", cls=DYMGroup)
501+
@cli.group("machines", help="Manage machines", cls=common.ClickGroup)
503502
def machines_group():
504503
pass
505504

@@ -1068,3 +1067,6 @@ def version():
10681067
cli.add_command(jobs_group)
10691068
cli.add_command(projects_group)
10701069
cli.add_command(models_group)
1070+
1071+
if __name__ == '__main__':
1072+
cli()

paperspace/cli/common.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import click
2+
from click_didyoumean import DYMMixin
3+
from click_help_colors import HelpColorsGroup
24

35
api_key_option = click.option(
46
"--apiKey",
@@ -11,4 +13,8 @@ def del_if_value_is_none(dict_):
1113
"""Remove all elements with value == None"""
1214
for key, val in list(dict_.items()):
1315
if val is None:
14-
del dict_[key]
16+
del dict_[key]
17+
18+
19+
class ClickGroup(DYMMixin, HelpColorsGroup):
20+
pass

paperspace/cli/jobs.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import click
2-
from click_didyoumean import DYMGroup
32

43
from paperspace import client, config
54
from paperspace.cli import common
65
from paperspace.commands import jobs as jobs_commands
76

87

9-
@click.group("jobs", help="Manage gradient jobs", cls=DYMGroup)
8+
@click.group("jobs", help="Manage gradient jobs", cls=common.ClickGroup)
109
def jobs_group():
1110
pass
1211

paperspace/cli/models.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import click
2-
from click_didyoumean import DYMGroup
32

43
from paperspace import client, config
54
from paperspace.cli import common
65
from paperspace.commands import models as models_commands
76

87

9-
@click.group("models", help="Manage models", cls=DYMGroup)
8+
@click.group("models", help="Manage models", cls=common.ClickGroup)
109
def models_group():
1110
pass
1211

paperspace/cli/projects.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import click
2-
from click_didyoumean import DYMGroup
32

43
from paperspace import client, config
54
from paperspace.commands import projects as projects_commands
65
from . import common
76

87

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

paperspace/commands/deployments.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def _log_message(self, response, success_msg_template, error_msg):
1919
j = response.json()
2020
handle = j["deployment"]
2121
except (ValueError, KeyError):
22-
self.logger.log(success_msg_template)
22+
self.logger.error(success_msg_template)
2323
else:
2424
msg = success_msg_template.format(**handle)
2525
self.logger.log(msg)
@@ -28,7 +28,7 @@ def _log_message(self, response, success_msg_template, error_msg):
2828
data = response.json()
2929
self.logger.log_error_response(data)
3030
except ValueError:
31-
self.logger.log(error_msg)
31+
self.logger.error(error_msg)
3232

3333

3434
class CreateDeploymentCommand(_DeploymentCommandBase):
@@ -51,7 +51,7 @@ def execute(self, filters=None):
5151
return
5252
deployments = self._get_deployments_list(response)
5353
except (ValueError, KeyError) as e:
54-
self.logger.log("Error while parsing response data: {}".format(e))
54+
self.logger.error("Error while parsing response data: {}".format(e))
5555
else:
5656
self._log_deployments_list(deployments)
5757

@@ -74,7 +74,7 @@ def _get_deployments_list(response):
7474

7575
def _log_deployments_list(self, deployments):
7676
if not deployments:
77-
self.logger.log("No deployments found")
77+
self.logger.warning("No deployments found")
7878
else:
7979
table_str = self._make_deployments_list_table(deployments)
8080
if len(table_str.splitlines()) > get_terminal_lines():

paperspace/commands/experiments.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def _log_create_experiment(response, success_msg_template, error_msg, logger_=lo
2020
data = response.json()
2121
logger_.log_error_response(data)
2222
except ValueError:
23-
logger_.log(error_msg)
23+
logger_.error(error_msg)
2424

2525

2626
def create_experiment(json_, api=experiments_api):
@@ -63,7 +63,7 @@ def execute(self, project_handles=None):
6363
try:
6464
experiments = self._get_experiments_list(response, bool(project_handles))
6565
except (ValueError, KeyError) as e:
66-
self.logger.log("Error while parsing response data: {}".format(e))
66+
self.logger.error("Error while parsing response data: {}".format(e))
6767
else:
6868
self._log_experiments_list(experiments)
6969

@@ -106,7 +106,7 @@ def _get_experiments_list(response, filtered=False):
106106

107107
def _log_experiments_list(self, experiments):
108108
if not experiments:
109-
self.logger.log("No experiments found")
109+
self.logger.warning("No experiments found")
110110
else:
111111
table_str = self._make_experiments_list_table(experiments)
112112
if len(table_str.splitlines()) > get_terminal_lines():
@@ -175,7 +175,6 @@ def get_experiment_details(experiment_handle, api=experiments_api):
175175
experiment = response.json()["data"]
176176
details = _make_details_table(experiment)
177177
except (ValueError, KeyError) as e:
178-
logger.log("Error parsing response data")
179-
logger.debug(e)
178+
logger.error("Error parsing response data")
180179

181180
log_response(response, details, "Unknown error while retrieving details of the experiment")

paperspace/commands/jobs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def _log_message(self, response, success_msg_template, error_msg):
2121
data = response.json()
2222
self.logger.log_error_response(data)
2323
except ValueError:
24-
self.logger.log(error_msg)
24+
self.logger.error(error_msg)
2525

2626

2727
class DeleteJobCommand(JobsCommandBase):
@@ -53,13 +53,13 @@ def execute(self, filters=None):
5353
self.logger.log_error_response(data)
5454
return
5555
except (ValueError, KeyError) as e:
56-
self.logger.log("Error while parsing response data: {}".format(e))
56+
self.logger.error("Error while parsing response data: {}".format(e))
5757
else:
5858
self._log_jobs_list(data)
5959

6060
def _log_jobs_list(self, data):
6161
if not data:
62-
self.logger.log("No jobs found")
62+
self.logger.warning("No jobs found")
6363
else:
6464
table_str = self._make_table(data)
6565
if len(table_str.splitlines()) > get_terminal_lines():

0 commit comments

Comments
 (0)