"""User command functions for the mudpy engine."""
-# Copyright (c) 2004-2019 mudpy authors. Permission to use, copy,
+# Copyright (c) 2004-2020 mudpy authors. Permission to use, copy,
# modify, and distribute this software is granted under terms
# provided in the LICENSE file distributed with this software.
"""Generic error for an unrecognized command word."""
# 90% of the time use a generic error
- # Whitelist the random.randrange() call in bandit since it's not used for
+ # Allow the random.randrange() call in bandit since it's not used for
# security/cryptographic purposes
if random.randrange(10): # nosec
message = '''I'm not sure what "''' + input_data + '''" means...'''
description = command.get("description")
if not description:
description = "(no short description provided)"
- if command.get("administrative"):
+ if command.is_restricted():
output = "$(red)"
else:
output = "$(grn)"
if actor.can_run(command):
if really_see_also:
really_see_also += ", "
- if command.get("administrative"):
+ if command.is_restricted():
really_see_also += "$(red)"
else:
really_see_also += "$(grn)"
"description", "(no short description provided)")
# administrative command names are in red, others in green
- if command.get("administrative"):
+ if command.is_restricted():
color = "red"
else:
color = "grn"
try:
# there is no other option than to use eval() for this, since
# its purpose is to evaluate arbitrary expressions, so do what
- # we can to secure it and whitelist it for bandit analysis
+ # we can to secure it and allow it for bandit analysis
message = repr(eval( # nosec
" ".join(arguments[1:]),
{"mudpy": mudpy, "universe": actor.universe}))