Changeset 36
- Timestamp:
- 01/29/06 17:34:38 (7 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
-
lib/syck/dumpers.py (modified) (2 diffs)
-
lib/syck/loaders.py (modified) (2 diffs)
-
setup.cfg (modified) (1 diff)
-
tests/test_pickle.py (modified) (2 diffs)
-
tests/test_syck.py (modified) (1 diff)
-
tests/test_unicode.py (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/syck/dumpers.py
r25 r36 109 109 110 110 def represent_str(self, object): 111 return _syck.Scalar(str(object), tag="tag:yaml.org,2002:str") 111 try: 112 return _syck.Scalar(object.encode('ascii'), tag="tag:yaml.org,2002:str") 113 except UnicodeDecodeError: 114 try: 115 return _syck.Scalar(unicode(object, 'utf-8').encode('utf-8'), 116 tag="tag:python.yaml.org,2002:str") 117 except UnicodeDecodeError: 118 return _syck.Scalar(object.encode('base64'), 119 tag="tag:yaml.org,2002:binary") 120 121 def represent_unicode(self, object): 122 try: 123 return _syck.Scalar(object.encode('ascii'), tag="tag:python.yaml.org,2002:unicode") 124 except UnicodeEncodeError: 125 return _syck.Scalar(object.encode('utf-8'), tag="tag:yaml.org,2002:str") 112 126 113 127 def represent_list(self, object): … … 139 153 def represent_long(self, object): 140 154 return _syck.Scalar(repr(object), tag="tag:python.yaml.org,2002:long") 141 142 def represent_unicode(self, object):143 return _syck.Scalar(object.encode('utf-8'), tag="tag:python.yaml.org,2002:unicode")144 155 145 156 def represent_tuple(self, object): -
trunk/lib/syck/loaders.py
r25 r36 25 25 import _syck 26 26 27 import sys, re 27 import sys, re, warnings 28 28 29 29 __all__ = ['GenericLoader', 'Loader', 30 'parse', 'load', 'parse_documents', 'load_documents'] 30 'parse', 'load', 'parse_documents', 'load_documents', 31 'NotUnicodeInputWarning'] 32 33 class NotUnicodeInputWarning(UserWarning): 34 pass 31 35 32 36 class GenericLoader(_syck.Parser): … … 180 184 return False 181 185 186 def construct_str(self, node): 187 try: 188 value = unicode(node.value, 'utf-8') 189 except UnicodeDecodeError: 190 warnings.warn("scalar value is not utf-8", NotUnicodeInputWarning) 191 return node.value 192 try: 193 return value.encode('ascii') 194 except UnicodeEncodeError: 195 return value 196 182 197 def construct_numeric_base60(self, num_type, node): 183 198 digits = [num_type(part) for part in node.value.split(':')] -
trunk/setup.cfg
r32 r36 5 5 6 6 # List of directories to search for 'syck.h' (separated by ':'). 7 include_dirs=/usr/local/include:../../include7 #include_dirs=/usr/local/include:../../include 8 8 9 9 # List of directories to search for 'libsyck.a' (separated by ':'). 10 library_dirs=/usr/local/lib:../../lib10 #library_dirs=/usr/local/lib:../../lib 11 11 -
trunk/tests/test_pickle.py
r25 r36 348 348 nodes = syck.parse(NODES) 349 349 output = syck.dump(nodes) 350 print output350 #print output 351 351 nodes2 = syck.load(output) 352 352 output2 = syck.emit(nodes2) … … 358 358 nodes = syck.parse(BUGGY_NODES) 359 359 output = syck.dump(nodes) 360 print output360 #print output 361 361 nodes2 = syck.load(output) 362 362 output2 = syck.emit(nodes2) -
trunk/tests/test_syck.py
r34 r36 9 9 from test_pickle import * 10 10 from test_threads import * 11 from test_unicode import * 11 12 12 13 def main(module='__main__'):
Note: See TracChangeset
for help on using the changeset viewer.
