aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Thompson <daniel.thompson@linaro.org>2018-12-11 16:25:03 +0000
committerDaniel Thompson <daniel.thompson@linaro.org>2018-12-11 16:25:03 +0000
commit6adcecad23e912b9e27879ea07392b71325d1021 (patch)
tree5dbfd3e582c43fbe286ccf4d2eaba4a48ff5805e
parent9a490125c21d31c76f9ed65f05ca46e1ad4ca2ad (diff)
ldtstool: Add interact sub-command
-rwxr-xr-xbin/ldtstool28
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')