Changeset 44
- Timestamp:
- 05/03/05 18:11:39 (7 years ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
airspeed.py (modified) (3 diffs)
-
airspeed_test.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/airspeed.py
r43 r44 3 3 import re, operator, os 4 4 5 try: import cStringIO as StringIO 6 except ImportError: import StringIO 5 import StringIO # cStringIO has issues with unicode 7 6 8 7 __all__ = ['Template', 'TemplateError', 'TemplateSyntaxError', 'CachingFileLoader'] … … 28 27 operator.__eq__ = lambda a, b: a == b 29 28 operator.__ne__ = lambda a, b: a != b 29 try: 30 basestring 31 def is_string(s): return isinstance(s, basestring) 32 except NameError: 33 def is_string(s): return type(s) == type('') 30 34 31 35 ############################################################################### … … 406 410 if self.silent: value = '' 407 411 else: value = self.my_text() 408 stream.write(str(value)) 412 if is_string(value): 413 stream.write(value) 414 else: 415 stream.write(str(value)) 409 416 410 417 -
trunk/airspeed_test.py
r43 r44 1 1 #!/usr/bin/env python 2 # -*- coding: latin1 -*- 2 3 3 4 from unittest import TestCase, main … … 439 440 value = template.merge({'obj': C(), 'param':'bat'}) 440 441 self.assertEquals('monkey', value) 442 443 def test_preserves_unicode_strings(self): 444 template = airspeed.Template('$value') 445 value = unicode('Grüße', 'latin1') 446 self.assertEquals(value, template.merge(locals())) 447 441 448 442 449 #
