On Wed, 12 Oct 2011 17:13:36 -0400, Mohamed Lrhazi wrote:
> 
> On Wed, Oct 12, 2011 at 5:04 PM, Jacob Helwig <[email protected]> wrote:
> > On Wed, 12 Oct 2011 11:01:28 -0400, Mohamed Lrhazi wrote:
> >>
> >> Sorry for being off topic. am trying the following and yaml fails to
> >> construct the object:
> >>
> >> The inventory document, from Puppet dashboard inventory service, looks 
> >> like:
> >>
> >> --- !ruby/object:Puppet::Node::Facts
> >>   name: pirates.uis.example.com
> >>   values:
> >>     productname: VMware Virtual Platform
> >>     kernelmajversion: "2.6"
> >>
> >>
> >> My code:
> >>
> >> class PuppetFacts(yaml.YAMLObject):
> >>     yaml_tag = u'!ruby/object:Puppet::Node::Facts'
> >>     def __init__(self, name, values):
> >>         self.name = name
> >>         self.values = values
> >>
> >>
> >> The attempt to load the doc results in:
> >>
> >>
> >> ConstructorError: could not determine a constructor for the tag
> >> '!ruby/object:Puppet::Node::Facts'
> >>   in "<byte string>", line 1, column 5
> >>
> >>
> >> Thanks a lot,
> >> Mohamed.
> >>
> >
> > Hm.  Looks like you're doing exactly what was suggested in a couple of
> > older threads[0][1] about exactly this kind of issue.
> >
> > Could it be a loading issue where your class isn't actually getting
> > loaded?
> >
> > [0] https://groups.google.com/d/topic/puppet-dev/bWMaEHZIBNg/discussion
> > [1] https://groups.google.com/forum/#!topic/puppet-users/7e2modoyywA
> >
> > --
> > Jacob Helwig
> >
> 
> It does sound like it... am have not used the python yaml lib before...
> 
> Here is an entire script reproducing the issue: 
> http://paste.ubuntu.com/706994/
> 
> Thanks a lot,
> Mohamed.
> 

With everything in the same file, it shouldn't be the kind of loading
issue I was thinking about.

It's been so long since I've done any Python that I don't think I'll be
much help.  Hopefully someone with Python skills sharper than my
extremely rusty ones will chime in.

-- 
Jacob Helwig

Attachment: signature.asc
Description: Digital signature

Reply via email to