Custom Query (121 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (34 - 36 of 121)

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Ticket Resolution Summary Owner Reporter
#17 fixed Single quote character can break emitter output xi apopheniac.reply.pyyaml@…

Reported by apopheniac.reply.pyyaml@…, 7 years ago.

Description

If a string contains a space followed by a single quote character, PyYaml?'s emitter fails to duplicate the single quote. The resulting YAML output yields a parse error:

>>> map = {'key': " 'single quoted text'"}
>>> yaml.dump(map)
"{key: ' 'single quoted text'''}\n"
>>> yaml.load(yaml.dump(map))
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/home/apopheniac/lib/python/yaml/__init__.py", line 61, in load
    return loader.get_data()
  File "/home/apopheniac/lib/python/yaml/constructor.py", line 41, in get_data
    return self.construct_document(self.get_node())
  File "/home/apopheniac/lib/python/yaml/composer.py", line 23, in get_node
    return self.compose_document()
  File "/home/apopheniac/lib/python/yaml/composer.py", line 40, in compose_document
    node = self.compose_node(None, None)
  File "/home/apopheniac/lib/python/yaml/composer.py", line 69, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/home/apopheniac/lib/python/yaml/composer.py", line 112, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "/home/apopheniac/lib/python/yaml/parser.py", line 78, in check_event
    self.current_event = self.event_generator.next()
  File "/home/apopheniac/lib/python/yaml/parser.py", line 129, in parse_stream
    for event in self.parse_block_node():
  File "/home/apopheniac/lib/python/yaml/parser.py", line 323, in parse_node
    for event in collection_events:
  File "/home/apopheniac/lib/python/yaml/parser.py", line 472, in parse_flow_mapping
    "expected ',' or '}', but got %r" % token.id, token.start_mark)
yaml.parser.ParserError: while scanning a flow mapping
  in "<string>", line 1, column 1:
    {key: ' 'single quoted text'''}
    ^
expected ',' or '}', but got '<scalar>'
  in "<string>", line 1, column 10:
    {key: ' 'single quoted text'''}
             ^

If each single quote is preceded by a non-space character, then the error disappears:

>>> map = {"key": " foo'single quoted text'"}
>>> yaml.dump(map)
"{key: ' foo''single quoted text'''}\n"
>>> yaml.load(yaml.dump(map))
{'key': " foo'single quoted text'"}

The error seems to lie in the write_single_quoted function of module emitter.py. I've only encountered this problem with scalars represented in single quoted style.

#55 invalid Why can't I do "Abilities: Skills: Meele: Sword Staff"? xi arne_bab@…

Reported by arne_bab@…, 6 years ago.

Description

Why can't I use an input document containing a line like the following?

Abilities: Skills: Meele: Sword Staff

Doesn't yaml permit that?

#48 wontfix yaml.load does not call __init__ of objects xi aymanbahrain@…

Reported by aymanbahrain@…, 6 years ago.

Description

I noticed that my init code is not called when an object is created via yaml.load. Try this one: In this example, fy.secret will raise an error about secret not an attribute of fy object.

import yaml

class Field:
    def __init__(self):
        print 'init called'
        self.secret = 'password'
        
f = Field()

print f.secret

fy = yaml.load(file('fld.yaml', 'r'))
print fy.hide_value               
print fy.secret

have fld.yaml contain:
!!python/object:__main__.Field 
hide_value: true

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Note: See TracQuery for help on using queries.