Browse Source

add try except to expression eval

pull/10/head
granny 5 years ago
parent
commit
ae324483a2
  1. 8
      cogs/timings.py

8
cogs/timings.py

@ -237,11 +237,12 @@ class Timings(commands.Cog):
embed_var.description = "||" + str(unchecked) + " missing configuration optimizations.||"
await message.reply(embed=embed_var)
def eval_field(embed_var, option, option_name, unchecked, plugins=None, server_properties=None, bukkit=None, spigot=None, paper=None, purpur=None):
def eval_field(embed_var, option, option_name, unchecked, plugins, server_properties, bukkit, spigot, paper, purpur):
try:
for option_data in option:
add_to_field = True
for expression in option_data["expressions"]:
try:
if ("server_properties" in expression and server_properties or
"bukkit" in expression and bukkit or
"spigot" in expression and spigot or
@ -251,6 +252,11 @@ def eval_field(embed_var, option, option_name, unchecked, plugins=None, server_p
if not eval(expression):
add_to_field = False
break
except ValueError as value_error:
add_to_field = False
print(value_error)
embed_var.add_field(name="❌ Value Error in Bot",
value=f'`{value_error}`\nexpression:\n`{expression}`\noption:\n`{option_name}`')
if add_to_field:
""" f strings don't like newlines so we replace the newlines with placeholder text before we eval """
option_data["value"] = eval('f"""' + option_data["value"].replace("\n", "\\|n\\") + '"""').replace("\\|n\\", "\n")

Loading…
Cancel
Save