1- import winreg
1+ import _winreg
22import sys
33import exceptions
44import array
@@ -9,37 +9,37 @@ class RegType:
99 def __init__ ( self , msname , friendlyname ):
1010 self .msname = msname
1111 self .friendlyname = friendlyname
12- self .intval = getattr ( winreg , msname )
12+ self .intval = getattr ( _winreg , msname )
1313
1414 def __repr__ ( self ):
1515 return "<RegType %d: %s %s>" % \
1616 (self .intval , self .msname , self .friendlyname )
1717
1818_typeConstants = {
19- winreg .REG_NONE :
19+ _winreg .REG_NONE :
2020 RegType ( "REG_NONE" , "None" ),
21- winreg .REG_SZ :
21+ _winreg .REG_SZ :
2222 RegType ( "REG_SZ" , "String" ),
23- winreg .REG_EXPAND_SZ :
23+ _winreg .REG_EXPAND_SZ :
2424 RegType ("REG_EXPAND_SZ" , "Expandable Template String" ),
25- winreg .REG_BINARY :
25+ _winreg .REG_BINARY :
2626 RegType ("REG_BINARY" , "Binary Data" ),
27- winreg .REG_DWORD :
27+ _winreg .REG_DWORD :
2828 RegType ("REG_DWORD" , "Integer" ),
29- # winreg .REG_DWORD_LITTLE_ENDIAN :
29+ # _winreg .REG_DWORD_LITTLE_ENDIAN :
3030# RegType("REG_DWORD_LITTLE_ENDIAN", "Integer"),
31- winreg .REG_DWORD_BIG_ENDIAN :
31+ _winreg .REG_DWORD_BIG_ENDIAN :
3232 RegType ("REG_DWORD_BIG_ENDIAN" , "Big Endian Integer" ),
33- winreg .REG_LINK :
33+ _winreg .REG_LINK :
3434 RegType ("REG_LINK" , "Link" ),
35- winreg .REG_MULTI_SZ :
35+ _winreg .REG_MULTI_SZ :
3636 RegType ("REG_MULTI_SZ" , "List of Strings" ),
37- winreg .REG_RESOURCE_LIST :
37+ _winreg .REG_RESOURCE_LIST :
3838 RegType ("REG_RESOURCE_LIST" , "Resource List" ),
39- winreg .REG_FULL_RESOURCE_DESCRIPTOR :
39+ _winreg .REG_FULL_RESOURCE_DESCRIPTOR :
4040 RegType ( "REG_FULL_RESOURCE_DESCRIPTOR" ,
4141 "Full Resource Descriptor" ),
42- winreg .REG_RESOURCE_REQUIREMENTS_LIST :
42+ _winreg .REG_RESOURCE_REQUIREMENTS_LIST :
4343 RegType ( "REG_RESOURCE_REQUIREMENTS_LIST" ,
4444 "Resource Requirements List" )
4545}
@@ -128,7 +128,7 @@ def __delitem__( self, item ):
128128
129129class RegKeysDict ( _DictBase ):
130130 def _nameFromNum ( self , item ):
131- return winreg .EnumKey ( self .key .handle , item )
131+ return _winreg .EnumKey ( self .key .handle , item )
132132
133133 def __getitem__ ( self , item ):
134134 keyname = _getName ( item , self ._nameFromNum )
@@ -162,7 +162,7 @@ def deleteKey( keyname ):
162162
163163class RegKey :
164164 def _nameFromNum ( self , item ):
165- (name ,data ,datatype )= winreg .EnumValue ( self .handle , item )
165+ (name ,data ,datatype )= _winreg .EnumValue ( self .handle , item )
166166 return name
167167
168168 def __nonzero__ (self ):
@@ -185,7 +185,7 @@ def __repr__( self ):
185185 return "<Windows RegKey: %s>" % self .name
186186
187187 def close (self ):
188- return winreg .CloseKey ( self .handle )
188+ return _winreg .CloseKey ( self .handle )
189189
190190 def getSubkeyNames ( self ):
191191 return self .getSubkeys ().keys ()
@@ -194,20 +194,20 @@ def getValueNames( self ):
194194 return self .getValues ().keys ()
195195
196196 def deleteSubkey ( self , subkey ):
197- return winreg .DeleteKey ( self .handle , subkey )
197+ return _winreg .DeleteKey ( self .handle , subkey )
198198
199199 def deleteValue ( self , valname ):
200- return winreg .DeleteValue ( self .handle , valname )
200+ return _winreg .DeleteValue ( self .handle , valname )
201201
202202 def createSubkey ( self , keyname ):
203- handle = winreg .CreateKey ( self .handle , keyname )
203+ handle = _winreg .CreateKey ( self .handle , keyname )
204204 return RegKey ( self .name + "\\ " + keyname , handle )
205205
206206 def openSubkey ( self , keyname , samFlags = None ):
207207 if samFlags :
208- handle = winreg .OpenKey ( self .handle , keyname , 0 , samFlags )
208+ handle = _winreg .OpenKey ( self .handle , keyname , 0 , samFlags )
209209 else :
210- handle = winreg .OpenKey ( self .handle , keyname , 0 )
210+ handle = _winreg .OpenKey ( self .handle , keyname , 0 )
211211 return RegKey ( self .name + "\\ " + keyname , handle )
212212
213213 def getSubkeys ( self ):
@@ -219,14 +219,14 @@ def getValues( self ):
219219 def getValueNameDataAndType ( self , valname ):
220220 try :
221221 if type ( valname )== IntType :
222- (valname ,data ,datatype )= winreg .EnumValue ( self .handle , valname )
222+ (valname ,data ,datatype )= _winreg .EnumValue ( self .handle , valname )
223223 else :
224224 keyname = _getName ( valname , self ._nameFromNum )
225- (data ,datatype )= winreg .QueryValueEx ( self .handle , keyname )
225+ (data ,datatype )= _winreg .QueryValueEx ( self .handle , keyname )
226226 except (WindowsError , EnvironmentError ):
227227 raise IndexError , valname
228228
229- if datatype == winreg .REG_BINARY :
229+ if datatype == _winreg .REG_BINARY :
230230 # use arrays for binary data
231231 data = array .array ( 'c' , data )
232232
@@ -241,36 +241,36 @@ def setValue( self, valname, data, regtype=None ):
241241 typeint = regtype .intval
242242 else :
243243 if type ( data )== StringType :
244- typeint = winreg .REG_SZ
244+ typeint = _winreg .REG_SZ
245245 elif type ( data )== IntType :
246- typeint = winreg .REG_DWORD
246+ typeint = _winreg .REG_DWORD
247247 elif type ( data )== array .ArrayType :
248- typeint = winreg .REG_BINARY
248+ typeint = _winreg .REG_BINARY
249249 data = data .tostring ()
250- winreg .SetValueEx ( self .handle , valname , 0 , typeint , data )
250+ _winreg .SetValueEx ( self .handle , valname , 0 , typeint , data )
251251
252252 def flush (self ):
253- winreg .FlushKey ( self .keyobbj )
253+ _winreg .FlushKey ( self .keyobbj )
254254
255255 def save ( self , filename ):
256- winreg .SaveKey ( self .keyobj , filename )
256+ _winreg .SaveKey ( self .keyobj , filename )
257257
258258 def load ( self , subkey , filename ):
259- return winreg .RegLoadKey ( self .handle , subkey , filename )
259+ return _winreg .RegLoadKey ( self .handle , subkey , filename )
260260
261261
262262class RemoteKey ( RegKey ):
263263 def __init__ ( self , machine , topLevelKey ):
264264 assert topLevelKey in _hivenames
265- self .handle = winreg .ConnectRegistry ( machine , parentKey )
265+ self .handle = _winreg .ConnectRegistry ( machine , parentKey )
266266 self .name = r"\\%s\%s" % (machine , topLevelKey )
267267
268268_hivenames = ["HKEY_CLASSES_ROOT" ,"HKEY_CURRENT_USER" ,"HKEY_LOCAL_MACHINE" ,
269269 "HKEY_USERS" ,"HKEY_CURRENT_CONFIG" ,"HKEY_DYN_DATA" ,
270270 "HKEY_PERFORMANCE_DATA" ]
271271hives = {}
272272for name in _hivenames :
273- hives [name ]= RegKey ( name , getattr ( winreg , name ) )
273+ hives [name ]= RegKey ( name , getattr ( _winreg , name ) )
274274hives ["HKLM" ]= hives ["HKEY_LOCAL_MACHINE" ]
275275hives ["HKCR" ]= hives ["HKEY_CLASSES_ROOT" ]
276276hives ["HKCU" ]= hives ["HKEY_CURRENT_USER" ]
@@ -280,7 +280,7 @@ def __init__( self, machine, topLevelKey ):
280280 "KEY_QUERY_VALUE" , "KEY_READ" , "KEY_SET_VALUE" ]
281281flags = {}
282282for name in _flagnames :
283- flags [name ]= getattr ( winreg , name )
283+ flags [name ]= getattr ( _winreg , name )
284284
285285_RegNotifyChangeKeyValueOptions = [ "REG_NOTIFY_CHANGE_ATTRIBUTES" ,
286286 "REG_NOTIFY_CHANGE_SECURITY" , "REG_NOTIFY_CHANGE_LAST_SET" ,
@@ -311,7 +311,7 @@ def test():
311311#typeConstantNames=map( lambda x: x.msname, typeConstants.values() )
312312
313313#allnames=_hivenames+_flagnames+typeConstantNames+unusednames
314- #winregnames=winreg .__dict__.keys()
314+ #winregnames=_winreg .__dict__.keys()
315315#for name in winregnames:
316316# if name not in allnames:
317317# print name
0 commit comments