I need some help building snippets -- I got a clue, but not a complete answer
Dan White
ygor at comcast.net
Fri Jul 29 14:54:59 UTC 2011
Part of the problem appears to be the path to the cfg file.
I found that if I give it a full path name -- /var/lib/cobbler/snippits/mysettings.cfg -- then the script goes through !
So the next question is : Is there an environment setting available to me that would give me the path to the snippets directory ? Or do I need to code it in myself in some fashion ?
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)
----- Dan White <ygor at comcast.net> wrote:
> I have some python code that does what I want to do in a snippet, but I cannot translate it into something that will get past the cheetah compile/conversion.
>
> Just a few lines - here they are:
>
> <python code>
> import sys, ConfigParser
>
> cf=ConfigParser.ConfigParser()
>
> sys.stdout.write("cf=")
> print cf
>
> list=cf.read ( 'mysettings.cfg' )
> sys.stdout.write("cfg file=")
> print list
>
> sys.stdout.write("sections=")
> print cf.sections()
>
> print cf.get ( 'MySection', 'field1' )
> print cf.get ( 'MySection', 'field2' )
> </python code>
>
> The file (mysettings.cfg) contains:
> [MySection]
> field1 = this
> field2 = that
>
> When I execute this python script, I get this output:
> cf=<ConfigParser.ConfigParser instance at (address)>
> cfg file=['mysettings.cfg']
> sections=[MySection]
> this
> that
>
> Now to the cobbler/cheetah snippet:
> <snippet>
> #import ConfigParser
> #set $cf=$ConfigParser.ConfigParser()
>
> #echo 'cf=>'
> #echo $cf
> #echo '\n'
>
> #set $list=$cf.read ( 'mysettings.cfg' )
>
> #echo 'cfg file=>'
> #echo $list
> #echo '\n'
>
> #set $sec = $cf.sections()
>
> #echo 'sections=>'
> #echo $sec
> #echo '\n'
>
>
> #set $one = $cf.get ( 'MySection', 'field1' )
> #echo $one
>
>
> #set $two = $cf.get ( 'MySection', 'field2' )
> #echo $two
> </snippet>
>
> But the cheetah fails in an odd (to me) way.
>
> First of all, the line:
> #set $list=$cf.read ( 'mysettings.cfg' )
> fails unless I change it to :
> #set $list= cf.read ( 'mysettings.cfg' )
>
> and then I get the following output:
> cf=<ConfigParser.ConfigParser instance at (address)>
> cfg file=[]
> sections=[]
> and then the script will fail on the "get" method calls
>
> Any suggestions / clues out there ?
>
>
> “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
> Bill Waterson (Calvin & Hobbes)
> _______________________________________________
> cobbler mailing list
> cobbler at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/cobbler
More information about the cobbler
mailing list