From 2d7704fd2b1ec8b5baa232de81c2593d5b835d28 Mon Sep 17 00:00:00 2001 From: Mike Bryant Date: Fri, 6 May 2016 11:59:58 +0100 Subject: [PATCH] Use shlex to tokenize the input string. Fixes #3 Allow the use of quoted arguments, e.g. ``` Usage: test ``` with the input `a "b c d"` If tokenization fails, fall back to the original behaviour --- app.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index c2fe9fd..f553777 100644 --- a/app.py +++ b/app.py @@ -16,7 +16,7 @@ --drifting Drifting mine. """ -import os, sys, traceback, json +import os, sys, traceback, json, shlex from StringIO import StringIO from flask import Flask, render_template as render, request @@ -27,6 +27,10 @@ def run_docopt(doc, argv): + try: + argv = shlex.split(argv) + except ValueError: + pass real_stdout, sys.stdout = sys.stdout, StringIO() real_stderr, sys.stderr = sys.stderr, StringIO() try: