OO Windows Registry API
Tim Couper
drtimcouper at yahoo.co.uk
Thu Mar 29 03:11:08 EST 2001
Benji
I would prefer this style of registry access.
Comments:
1. reg[HKEY_LOCAL_MACHINE]['Software']['My App']
I'd prefer to see:
reg[HKEY_LOCAL_MACHINE]['Software\My App'] or,
perhaps, more Pythonesquely
reg[HKEY_LOCAL_MACHINE]['Software','My App']
2. What about a AddKey-type of method:
CurrentKey=reg[HKEY_LOCAL_MACHINE] ....
CurrentKey.AddKey('foo')
>
> After using the _winreg module I was pining for the
> fjords -- oh, sorry -- I was pining for a more
> Pythonesc API. I noticed that the Python
> documentation mentions that a better API may be
> written in the future, but none has been
> forthcoming. So -- while up at 2AM with my
> 6-week-old son last night -- I wrote a wrapper that
> exposes the registry as a dictionary-like object.
> It seems to work really well, and more importantly
> it feels more like a Python module should.
>
> I decided to search Python-Dev for mentions of a
> higher-level API and found a squabble over various
> proposals. Did the idea of an OO interface die last
> August, or is there any interest in what I've done?
>
> (Untested) Example code:
>
> from winreg import Registry, NewKey,
> HKEY_CURRENT_USER
> reg = Registry()
>
> # Create a new "My App" key under
> HKEY_CURRENT_USER/Software.
> reg[HKEY_CURRENT_USER]['Software']['My App'] =
> NewKey()
>
> # Add some values to the newly created key.
> # Note: the module only supports strings right now,
> but that's
> # easy to change.
> reg[HKEY_CURRENT_USER]['Software']['My App']['foo']
> = 'value 1'
> reg[HKEY_CURRENT_USER]['Software']['My App']['bar']
> = 'value 2'
>
> # Create a new subkey.
> reg[HKEY_CURRENT_USER]['Software']['My
> App']['subkey'] = NewKey()
>
> # Delete a value.
> del reg[HKEY_CURRENT_USER]['Software']['My
> App']['foo']
>
> # Delete a key.
> del reg[HKEY_CURRENT_USER]['Software']['My App']
>
>
> Any comments or suggestions? If anyone is
> interested in the code, I'll post it on the web.
>
> --
> Benji York
> york at ficom.net
____________________________________________________________
Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie
More information about the Python-list
mailing list