Custom Query (121 matches)


Show under each result:

Results (46 - 48 of 121)

Ticket Resolution Summary Owner Reporter
#53 fixed Allow for immutable subclasses of YAMLObject xi toidinamai

Reported by toidinamai, 10 years ago.


YAMLObject are not directly instantiated so they don't need their own instance attribute (i.e. an own dict). Because of that they should define an empty slots and let subclasses decide whether they want arbitrary instance attributes or not:

--- lib/yaml/        (revision 251)
+++ lib/yaml/        (working copy)
@@ -272,6 +272,9 @@
     yaml_tag = None
     yaml_flow_style = None
+    # no direct instantiation, so allow for immutable subclasses
+    __slots__ = ()
     def from_yaml(cls, loader, node):
         Convert a representation node to a Python object.

The same is basically also true for YAMLObjectMetaclass but I doubt there is much use for this in practice.

#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?

Note: See TracQuery for help on using queries.