Fix #10162: Add try/except around _winreg.OpenKey for keys that are
unreadable by all users, e.g., Flash, Silverlight, and Java keys were causing errors. We don't currently have a way to grant/deny permissions for a key via winreg so there are no tests for this.
This commit is contained in:
parent
28928aef2e
commit
000f974b44
|
@ -253,14 +253,16 @@ class MimeTypes:
|
|||
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
|
||||
r'MIME\Database\Content Type') as mimedb:
|
||||
for ctype in enum_types(mimedb):
|
||||
with _winreg.OpenKey(mimedb, ctype) as key:
|
||||
try:
|
||||
suffix, datatype = _winreg.QueryValueEx(key, 'Extension')
|
||||
except EnvironmentError:
|
||||
continue
|
||||
if datatype != _winreg.REG_SZ:
|
||||
continue
|
||||
self.add_type(ctype, suffix, strict)
|
||||
try:
|
||||
with _winreg.OpenKey(mimedb, ctype) as key:
|
||||
try:
|
||||
suffix, datatype = _winreg.QueryValueEx(key,
|
||||
'Extension')
|
||||
except EnvironmentError:
|
||||
continue
|
||||
if datatype != _winreg.REG_SZ:
|
||||
continue
|
||||
self.add_type(ctype, suffix, strict)
|
||||
|
||||
|
||||
def guess_type(url, strict=True):
|
||||
|
|
Loading…
Reference in New Issue