diff options
author | Daniel Thompson <daniel.thompson@linaro.org> | 2018-12-11 16:25:03 +0000 |
---|---|---|
committer | Daniel Thompson <daniel.thompson@linaro.org> | 2018-12-11 16:25:03 +0000 |
commit | 6adcecad23e912b9e27879ea07392b71325d1021 (patch) | |
tree | 5dbfd3e582c43fbe286ccf4d2eaba4a48ff5805e | |
parent | 9a490125c21d31c76f9ed65f05ca46e1ad4ca2ad (diff) |
ldtstool: Add interact sub-command
-rwxr-xr-x | bin/ldtstool | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/ldtstool b/bin/ldtstool index 2b2da9e..3f3599d 100755 --- a/bin/ldtstool +++ b/bin/ldtstool @@ -55,6 +55,14 @@ import toys.collect as collect import toys.config as config import toys.date as date +# If it's installed we'd rather use IPython for interaction... +try: + import IPython + interact = IPython.embed +except: + import pdb + interact = pdb.set_trace + # Try to import zdesk, failure is non-fatal since this is only needed for # online support (the fetch sub-tool) try: @@ -440,6 +448,22 @@ def do_format(args): for t in Ticket.load(args.json): print(t.format(args.template)) +def do_interact(args): + '''Directly interact with the JSON data (or zendesk)''' + tickets = Ticket.load(args.json) + ticket = tickets[-1] + + try: + cfg = config.get_config() + zd = zdesk.Zendesk(cfg['zendesk']['server'], + cfg['zendesk']['username'], + config.get_password(cfg, 'zendesk')) + except: + zd = None + + print('Locals include: tickets, ticket, zd') + interact() + def do_import(args): with open(args.json, 'r') as f: tickets = [ json.loads(ln) for ln in f.readlines() ] @@ -726,6 +750,10 @@ def main(argv): s.add_argument("json") s.set_defaults(func=do_import) + s = subparsers.add_parser("interact") + s.add_argument("json", nargs='?', default=defaultdb) + s.set_defaults(func=do_interact) + s = subparsers.add_parser('markdown') s.add_argument("--add-organization", action='store_true') s.add_argument("--add-requester", action ='store_true') |