Custom Query (121 matches)
Results (112 - 114 of 121)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #120 | fixed | typo in yaml.__init__.py | xi | py4fun@… |
| Description |
line 46 in yaml.__init__.py contains a typo: "corresponSing" instead of "corresponDing" |
|||
| #62 | fixed | value token of single period ('.') is parsed incorrectly, throws wrong exception | xi | sproaticus |
| Description |
A scalar value token consisting of just a period ('.') is interpreted as a float value. When construct_yaml_float() creates a float using this value, it throws an uncaught ValueError instead of yaml.YAMLError (Also, what's PIL doing in the stack? I didn't import it.) >>> yaml.load('yaml: .')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/site-packages/PIL/__init__.py", line 66, in load
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 38, in get_data
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 46, in construct_document
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 394, in construct_yaml_map
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 207, in construct_mapping
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 132, in construct_mapping
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 87, in construct_object
File "build/bdist.linux-i686/egg/yaml/constructor.py", line 281, in construct_yaml_float
ValueError: invalid literal for float(): .
Environment:
|
|||
| #49 | fixed | yaml confused by python float repr() | xi | cems a.t. lanl.gov |
| Description |
platform: intel macintosh, python2.5 , latest yaml. Description: depending on a floats value dump() will output a different representation format. Sometimes it uses a tag format and others a standard float notation depending on the value. example: In [160]:dat ="""
float1: 1.0E-8
float2: 1.0E-9
"""
In [165]:t = yaml.load(dat)
In [166]:t
Out[166]:{'float1': 1e-08, 'float2': 1.0000000000000001e-09}
In [167]:yaml.dump(t)
Out[167]:"{float1: !!float '1e-08', float2: 1.0000000000000001e-09}\n"
notice the !!float tag followed by a string. regression: this appears to be an attempt to compensate for fact that python's string representation of some float values having different formats: that is in python2.5 the repr() of 1.0e-8 is actually 1e-08 (it supresses the decimal point). Since YAML does not recognize floats without the decimal point the dump command adds the float tag. However while the repr() of 1.0E-9 is 1.0000000000000001e-09. which has the decimal point making it legal YAML and it dump avoids the float tag It seems to me that a more consistent and desirable result would be obtained if dump were to output 1e-8 as 1.0e-8 rather than using the float if one is parsing a yaml file in another language the tagged format of the float can't be read easily. (e.g. consider reading this in fortran or perl without using a yaml lib to read the file.) |
|||
