diff --git a/consumerntfy.py b/consumerntfy.py index 5bce54e..75155ad 100644 --- a/consumerntfy.py +++ b/consumerntfy.py @@ -36,7 +36,7 @@ class ConsumerNTFY(Plugin): try: allowed_list = self.config["allowed_regions"][region] except: return False - if allowed_list is None: return True # Empty list + if len(allowed_list) == 0: return True if sender in allowed_list: return True # Sender not allowed in region config @@ -52,20 +52,20 @@ class ConsumerNTFY(Plugin): # Each command must have a state/territory designation and a message if len(tokens) < 2: return [] # And we must have self.config["region_configs"] - try: trashvariable = self.config["region_configs"] + try: trashvariable = self.config["allowed_regions"][region] except: return [] configs = [] # To be returned - allowed_globally = self.validate_sender("__global__", evt.sender) - allowed_region = self.validate_sender(region, evt.sender) + allowed = False + if region != "__global__" and (self.validate_sender(region, evt.sender)): + allowed = True # Also append __global__ conf automatically + try: configs.append(self.config["region_configs"][region]) + except: trashvariable = None - # If user is allowed globally and/or for a region, - # the plugin should process both the region and __global__ configs - if allowed_globally or allowed_region: - for i in ["__global__", region]: - try: configs.append(self.config["region_configs"][i]) - except: trashvariable = None + if allowed or (self.validate_sender("__global__", evt.sender)): + try: configs.append(self.config["region_configs"]["__global__"]) + except: trashvariable = None return configs