From 15a7505738abcaa0d3d82b5cc21f59b653fca3e0 Mon Sep 17 00:00:00 2001 From: romangraef Date: Sun, 8 Sep 2019 19:35:35 +0200 Subject: augmented converters --- drutils/eval.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'drutils/eval.py') diff --git a/drutils/eval.py b/drutils/eval.py index fd105b5..645d069 100644 --- a/drutils/eval.py +++ b/drutils/eval.py @@ -13,7 +13,8 @@ REPLACEMENTS = { } -async def handle_eval(message: discord.Message, client: discord.Client, to_eval: str, **kwargs): +async def handle_eval(message: discord.Message, client: discord.Client, to_eval: str, + strip_codeblock: bool = False, **kwargs): channel = message.channel author = message.author @@ -36,7 +37,13 @@ async def handle_eval(message: discord.Message, client: discord.Client, to_eval: 'guild': channel.guild if hasattr(channel, 'guild') else None, } variables.update(kwargs) + lines = to_eval.strip().split('\n') + if strip_codeblock: + if lines[0].startswith("```"): + lines = lines[1:] + lines[-1] = ''.join(lines[-1].rsplit('```', 1)) + block = '\n'.join(' ' + line for line in lines) code = ("async def code({variables}):\n" "{block}").format(variables=', '.join(variables.keys()), block=block) -- cgit