Skip to content

Commit 6e3b772

Browse files
Merge pull request #105 from deep-compute/feature-pretty
references #68, basescript is now a command-line tool which supports …
2 parents 139bac1 + d62638f commit 6e3b772

5 files changed

Lines changed: 29 additions & 6 deletions

File tree

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ deploy:
1919
- basescript/utils.py
2020
- examples/adder.py
2121
- examples/helloworld.py
22-
name: basescript-0.3.6
23-
tag_name: 0.3.6
22+
name: basescript-0.3.7
23+
tag_name: 0.3.7
2424
true:
2525
repo: deep-compute/basescript
2626
- provider: pypi

basescript/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from __future__ import absolute_import
22

3-
from .basescript import BaseScript
3+
from .basescript import BaseScript, main
44
from .log import init_logger, get_logger

basescript/basescript.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import argparse
55
import socket
66

7-
from .log import init_logger
7+
from .log import init_logger, pretty_print
88
from deeputil import Dummy
99

1010

@@ -107,7 +107,18 @@ def define_subcommands(self, subcommands):
107107
blah_command = subcommands.add_parser('blah')
108108
blah_command.set_defaults(func=fn_blah)
109109
"""
110-
pass
110+
pretty_cmd = subcommands.add_parser("pretty")
111+
pretty_cmd.add_argument(
112+
"-c",
113+
"--no-colors",
114+
action="store_true",
115+
default=False,
116+
help="Do not emit colored output",
117+
)
118+
119+
pretty_cmd.set_defaults(
120+
func=lambda: pretty_print(colors=not self.args.no_colors)
121+
)
111122

112123
def define_baseargs(self, parser):
113124
"""
@@ -182,3 +193,7 @@ def run(self):
182193
Override this method to define logic for `run` sub-command
183194
"""
184195
pass
196+
197+
198+
def main():
199+
BaseScript().start()

basescript/log.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import sys
2+
import json
23
import time
34
import uuid
45
import atexit
@@ -466,5 +467,11 @@ def init_logger(
466467
return log
467468

468469

470+
def pretty_print(colors=True):
471+
r = structlog.dev.ConsoleRenderer(colors=colors)
472+
for line in sys.stdin:
473+
print(r(None, None, json.loads(line)))
474+
475+
469476
def get_logger():
470477
return LOG

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def get_long_description():
2525

2626
long_description = get_long_description()
2727

28-
version = "0.3.6"
28+
version = "0.3.7"
2929
setup(
3030
name="basescript",
3131
version=version,
@@ -46,6 +46,7 @@ def get_long_description():
4646
],
4747
package_dir={"basescript": "basescript"},
4848
packages=find_packages(".", exclude=["tests*"]),
49+
entry_points={"console_scripts": ["basescript=basescript:main"]},
4950
include_package_data=True,
5051
classifiers=[
5152
"Programming Language :: Python :: 2.7",

0 commit comments

Comments
 (0)