Custom Query (121 matches)


Show under each result:

Results (46 - 48 of 121)

Ticket Resolution Summary Owner Reporter
#54 fixed load() fails to load consecutive documents xi cems at lanl dot gov

Reported by cems at lanl dot gov, 10 years ago.


Description: if a file contains multiple documents, yaml.load() fails to work after the first document is read.

I have a text file called test.yml that looks like this: --- as: "333 775260" --- zz: "top"

the following code works as expected:

f = open("test.xml") x = yaml.load_all(f) [ i for i in x]

that loads both documents. it does it lazily using a generator x.

The following does NOT work as exepcted: f = open("test.xml") yaml.load(f) yaml.load(f)

the first yaml.load(f) works and loads the first document. the second one fails. From the documentation I beleive yaml.load should consecutively load the next document upon each invocation on the stream. The error message upon failing to load varies depending upon what is in the second document. In the case shown here is the stack trace from ipython2.5

In [153]: f = open("test4.yml")

In [154]: yaml.load(f) Out[154]: {'as': '333 775260'}

In [155]: yaml.load(f)

<type 'exceptions.AttributeError?'> Traceback (most recent call last)

/Users/cems/Documents/Collaboration/brettin/poisson_estimates/ace_to_yaml/<ipython console> in <module>()

/sw/lib/python2.5/site-packages/yaml/ in load(stream, Loader)

64 loader = Loader(stream) 65 if loader.check_data():

---> 66 return loader.get_data()

67 68 def safe_load_all(stream):

/sw/lib/python2.5/site-packages/yaml/ in get_data(self)

36 # Construct and return the next document. 37 if self.check_node():

---> 38 return self.construct_document(self.get_node())

39 40 def g(): yield None

/sw/lib/python2.5/site-packages/yaml/ in get_node(self)

21 # Get the root node of the next document. 22 if not self.check_event(StreamEndEvent?):

---> 23 return self.compose_document()

24 25 def compose_document(self):

/sw/lib/python2.5/site-packages/yaml/ in compose_document(self)

33 34 # Compose the root node.

---> 35 node = self.compose_node(None, None)

36 37 # Drop the DOCUMENT-END event.

/sw/lib/python2.5/site-packages/yaml/ in compose_node(self, parent, index)

50 return self.anchors[anchor] 51 event = self.peek_event()

---> 52 anchor = event.anchor

53 if anchor is not None: 54 if anchor in self.anchors:

<type 'exceptions.AttributeError?'>: 'NoneType?' object has no attribute 'anchor'

In [156]:

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

Reported by arne_bab@…, 10 years ago.


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

Abilities: Skills: Meele: Sword Staff

Doesn't yaml permit that?

#58 wontfix Is there a way?? xi john.mcginnis@…

Reported by john.mcginnis@…, 10 years ago.

a = yaml.load("""
   name: John
   number: 111

print a
{'name': 'John', 'number': 111}

ok so if I do:

print yaml.dump(a) 
{name: John, number: 11}


print yaml.dump(a, default_flow_style=False)
name: John
number: 111

My question is, is there a variable in the code that could make the block style the default output without having to reference the style preference all the time?

Note: See TracQuery for help on using queries.