diff --git a/bottle.py b/bottle.py index 23fff762..b5aecba1 100755 --- a/bottle.py +++ b/bottle.py @@ -550,14 +550,14 @@ def prepare(self): def all_plugins(self): """ Yield all Plugins affecting this route. """ - unique = set() + if True in self.skiplist: return + skips = set(self.skiplist) for p in reversed(self.app.plugins + self.plugins): - if True in self.skiplist: break - name = getattr(p, 'name', False) - if name and (name in self.skiplist or name in unique): continue - if p in self.skiplist or type(p) in self.skiplist: continue - if name: unique.add(name) - yield p + if p not in skips and type(p) not in skips: + name = getattr(p, 'name', False) + if not name or name and name not in skips: + skips.add(name) + yield p def _make_callback(self): callback = self.callback