summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2009-07-16 03:22:13 +0000
committerNarayan Desai <desai@mcs.anl.gov>2009-07-16 03:22:13 +0000
commit5c3d87bcd4f0f41b76076f5f30df328fcaa79e87 (patch)
tree2a4d4930ec8023dc6b6ab337683b0827dd3a0b28 /src
parentcd39d8fbe8a5cd99396e164687cfc6a86f98dc97 (diff)
downloadbcfg2-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
Diffstat (limited to 'src')
-rw-r--r--src/lib/Server/Plugins/GroupPatterns.py8
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\-,]+\\]\\]'