Thanks for all the replies.
I am able solve my problem using python-configobj
@ Erik : Its nice to know that I can use trac's thing as well.
Next time I will use that.

On Aug 12, 2:02 am, yoheeb <[email protected]> wrote:
> On Aug 11, 3:38 pm, Erik Bray <[email protected]> wrote:
>
>
>
> > On Tue, Aug 11, 2009 at 4:03 AM, alind<[email protected]> wrote:
>
> > > After some more searching I found a library python-configobj
> > >http://www.voidspace.org.uk/python/configobj.html#downloading
> > > Am I suppose to use some other thing.
> > > IMHO this will work fine for me.
> > > Thanks.
>
> > > On Aug 11, 12:42 pm, alind sharma <[email protected]> wrote:
> > >> I want to edit trac.ini using python/shell. Whats the best way to do it.
> > >> Want something like I should be able to read trac.ini into some sort of 
> > >> dictionary/list, check if some option is present in the dictionary, and 
> > >> edit its value. There are some options that I want to add like
> > >> track.hg* = enabled,
> > >> webauth plugin = disbaled
> > >> webadming = enabled
> > >> etc. If something like this is already present then it will be fine, 
> > >> otherwise i will write one myself. Can anybody guide me towards the best 
> > >> way of achieving this. Thanks in advance.
>
> > >>  Alind Sharma
>
> > Why bother? If you already have Trac, just use what Trac uses: from
> > trac.config import Configuration.
>
> I second that, however, generally when I want to read ini files, I use
> the good 'ol ConfigParser library.
>
> as a matter of fact, I think I still use this recipe, or a variant of
> it:http://code.activestate.com/recipes/65334/
>
> you only need the  LoadConfig method to read it, the rest is just code
> to support the python standard "main()" function with some values:
> <pre>
> def LoadConfig(file, config={}):
>     """
>     returns a dictionary with key's of the form
>     <section>.<option> and the values
>     """
>     config = config.copy()
>     cp = ConfigParser.ConfigParser()
>     cp.read(file)
>     for sec in cp.sections():
>         name = string.lower(sec)
>         for opt in cp.options(sec):
>             config[name + "." + string.lower(opt)] = string.strip
> (cp.get(sec, opt))
>     return config
> </pre>
>
> and the commented/follow up tighter "write" method looks like the way
> to write.
>
> lets you do this:
> assming your object is cfg
> print cfg.sectionX.parameterY.value
> and
> cfg.sectionX.parameterY.value=newvalue
>
> type addressing, with this type or recipe.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to