diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2009-07-16 03:22:13 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2009-07-16 03:22:13 +0000 |
commit | 5c3d87bcd4f0f41b76076f5f30df328fcaa79e87 (patch) | |
tree | 2a4d4930ec8023dc6b6ab337683b0827dd3a0b28 | |
parent | cd39d8fbe8a5cd99396e164687cfc6a86f98dc97 (diff) | |
download | bcfg2-5c3d87bcd4f0f41b76076f5f30df328fcaa79e87.tar.gz bcfg2-5c3d87bcd4f0f41b76076f5f30df328fcaa79e87.tar.bz2 bcfg2-5c3d87bcd4f0f41b76076f5f30df328fcaa79e87.zip |
GroupPatterns: short-circuit range matching
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5337 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r-- | src/lib/Server/Plugins/GroupPatterns.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/GroupPatterns.py b/src/lib/Server/Plugins/GroupPatterns.py index 6ff0c7162..de25d0143 100644 --- a/src/lib/Server/Plugins/GroupPatterns.py +++ b/src/lib/Server/Plugins/GroupPatterns.py @@ -14,8 +14,12 @@ class PackedDigitRange(object): def includes(self, other): iother = int(other) - return iother in self.sparse or True in \ - [iother in range(rng[0], rng[1]+1) for rng in self.ranges] + if iother in self.sparse: + return True + for (start, end) in self.ranges: + if iother in xrange(start, end+1): + return True + return False class PatternMap(object): range_finder = '\\[\\[[\d\-,]+\\]\\]' |