aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2018-10-17 15:08:48 +0100
committerGravatar jesopo2018-10-17 15:08:48 +0100
commitcfb9fa1c2e3fc11d898d8224643d2a7fd1e069e9 (patch)
tree287a02507adaa28c087823c75023118860b2f6c8 /modules
parent'import StringIO' -> 'import io' in modules/eval_python.py (diff)
signature
import json in EVAL_TEMPLATE and json parse response from eval api
Diffstat (limited to 'modules')
-rw-r--r--modules/eval_python.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/eval_python.py b/modules/eval_python.py
index a5c4de5a..1b92b403 100644
--- a/modules/eval_python.py
+++ b/modules/eval_python.py
@@ -2,7 +2,7 @@ import html, socket
from src import ModuleManager, utils
EVAL_TEMPLATE = """
-import io, sys
+import io, json, sys
compiled = compile(sys.stdin.read(), "code", "single")
@@ -43,7 +43,10 @@ class Module(ModuleManager.BaseModule):
if page:
out = page.split("</b></span><br>", 1)[1].strip("\n")
out = html.unescape(out)
- event["stdout"].write("%s: %s" % (event["user"].nickname, out))
+ out = json.loads(out)
+
+ event["stdout" if out["success"] else "stderr"].write(
+ "%s: %s" % (event["user"].nickname, out))
else:
event["stderr"].write("%s: failed to eval" % event["user"].nickname)