aboutsummaryrefslogtreecommitdiff
path: root/modules/eval_rust.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/eval_rust.py')
-rw-r--r--modules/eval_rust.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/modules/eval_rust.py b/modules/eval_rust.py
deleted file mode 100644
index 75d51d95..00000000
--- a/modules/eval_rust.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#--depends-on commands
-
-import json, socket
-from src import ModuleManager, utils
-
-EVAL_URL = "https://play.rust-lang.org/execute"
-FN_TEMPLATE = """
-fn main() {
- println!("{:?}", {
- %s
- });
-}
-"""
-API_ARGS = {
- "channel": "nightly",
- "crateType": "bin",
- "mode": "debug",
- "tests": False,
- "execute": True,
- "target": "ast",
- "backtrace": False
-}
-
-class Module(ModuleManager.BaseModule):
- _name = "Rust"
- @utils.hook("received.command.rust", min_args=1)
- def eval(self, event):
- """
- :help: Evaluate a rust statement
- :usage: <statement>
- """
- args = API_ARGS.copy()
- args["code"] = FN_TEMPLATE % event["args"]
- try:
- page = utils.http.request(EVAL_URL, post_data=args,
- method="POST", json=True, content_type="application/json")
- except socket.timeout:
- raise utils.EventError("%s: eval timed out" %
- event["user"].nickname)
-
- err_or_out = "stdout" if page.data["success"] else "stderr"
- event[err_or_out].write("%s: %s" % (event["user"].nickname,
- page.data[err_or_out].strip("\n")))