Changeset 11
- Timestamp:
- 12/08/04 13:19:59 (4 years ago)
- Files:
-
- trunk/airspeed.py (modified) (2 diffs)
- trunk/airspeed_test.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/airspeed.py
r10 r11 16 16 EXPRESSION = '(' + NAME_OR_CALL + '(?:\.' + NAME_OR_CALL + ')*)' 17 17 PLACEHOLDER_PATTERN = re.compile('^\$(!?)({?)' + EXPRESSION + '(}?)' + REST, re.IGNORECASE + re.DOTALL + re.MULTILINE) 18 SET_PATTERN = re.compile('^#set[ \t]*\([ \t]*\$(' + NAME + ')[ \t]*=[ \t]*(\d+ )[ \t]*\)' + REST, re.IGNORECASE + re.DOTALL + re.MULTILINE)18 SET_PATTERN = re.compile('^#set[ \t]*\([ \t]*\$(' + NAME + ')[ \t]*=[ \t]*(\d+|"[^"]+")[ \t]*\)' + REST, re.IGNORECASE + re.DOTALL + re.MULTILINE) 19 19 BEGIN_IF_PATTERN = re.compile('^#if[ \t]*\([ \t]*\$' + EXPRESSION + '[ \t]*\)' + REST, re.IGNORECASE + re.DOTALL + re.MULTILINE) 20 20 BEGIN_FOREACH_PATTERN = re.compile('^#foreach[ \t]*\([ \t]*\$(' + NAME + ')[ \t]+in[ \t]+\$' + EXPRESSION + '[ \t]*\)' + REST, re.IGNORECASE + re.DOTALL + re.MULTILINE) … … 188 188 189 189 def evaluate(self, output_stream, namespace): 190 namespace[self.var_name] = int(self.rvalue) 190 if self.rvalue.startswith('"'): 191 value = self.rvalue[1:-1] 192 else: 193 value = int(self.rvalue) 194 namespace[self.var_name] = value 191 195 192 196 trunk/airspeed_test.py
r10 r11 127 127 self.assertEquals({}, namespace) 128 128 129 def test_can_use_a_string_variable_defined_in_template(self): 130 template = airspeed.Template('#set ($value = "Steve")$value') 131 self.assertEquals("Steve", template.merge({})) 132 129 133 130 134 if __name__ == '__main__':
