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"
prepend_padding
)
+ def is_restricted(self):
+ """Boolean check whether command is administrative or debugging."""
+ return(self.get("administrative", False))
+
def is_admin(self):
"""Boolean check whether an actor is controlled by an admin owner."""
return(self.owner and self.owner.is_admin())
return(True)
# everyone can run non-administrative commands
- if not command.get("administrative"):
+ if not command.is_restricted():
return(True)
# otherwise the command cannot be run by this actor
else:
for candidate in sorted(universe.groups["command"]):
if candidate.startswith(command_name) and not universe.groups[
- "command"][candidate].get("administrative"):
+ "command"][candidate].is_restricted():
# the command matches the start of a command word and is not
# restricted to administrators
command = universe.groups["command"][candidate]