Ben Hoyt added the comment:

Thanks, Tim! Works for me! A couple of code review comments:

1) On 2.7, guess_type(s)[0] is a byte string as usual if the type doesn't exist 
in the registry, but it's a unicode string if it came from the registry. Seems 
like it should be a byte string in all cases (the mime type can only be ASCII 
char). I would say .encode('ascii') and if it raises UnicodeError, ignore that 
key.

2) Would 'subkeyname[0] == "."' be better as subkeyname.startswith(".")? More 
idiomatic, and won't bomb out if subkeyname is zero length (though that 
probably can't happen). Relatedly, "not subkeyname.startswith()" with an 
early-continue would avoid an indent and is what the rest of the code does.

3) I believe the default_encoding variable is not needed anymore. That was used 
in the old registry code.

4) Super-minor: "raises EnvironmentError" would be the Pythonic way to say 
"throws EnvironmentError".

5) Would it be worth adding a test for 'foo.png' as well, as that was another 
super-common type that was wrong?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15207>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to