From c7ee3d6c896f1534d8da46e973700a26b9feb706 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Wed, 30 Sep 2020 18:07:46 +0000 Subject: [PATCH] Streamline can_run access control method Minor rework of can_run() to replace the chain of elifs with simple short-circuiting conditions each with its own return() so that it's clearer this operates in a "first match" model. --- mudpy/misc.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/mudpy/misc.py b/mudpy/misc.py index 044614f..fd4e0ac 100644 --- a/mudpy/misc.py +++ b/mudpy/misc.py @@ -189,22 +189,18 @@ class Element: # has to be in the commands group if command not in self.universe.groups["command"].values(): - result = False + return(False) # avatars of administrators can run any command - elif self.owner and self.owner.account.get("administrator"): - result = True + if self.owner and self.owner.account.get("administrator"): + return(True) # everyone can run non-administrative commands - elif not command.get("administrative"): - result = True + if not command.get("administrative"): + return(True) # otherwise the command cannot be run by this actor - else: - result = False - - # pass back the result - return result + return(False) def update_location(self): """Make sure the location's contents contain this element.""" -- 2.11.0