Hi group, I'm using Python 3.3.2+ (default, Oct 9 2013, 14:50:09) [GCC 4.8.1] on linux and have found what is very peculiar behavior at best and a bug at worst. It regards the mimetypes module and in particular the guess_all_extensions and guess_extension functions.
I've found that these do not return stable output. When running the following commands, it returns one of: $ python3 -c 'import mimetypes; print(mimetypes.guess_all_extensions("text/html"), mimetypes.guess_extension("text/html"))' ['.htm', '.html', '.shtml'] .htm $ python3 -c 'import mimetypes; print(mimetypes.guess_all_extensions("text/html"), mimetypes.guess_extension("text/html"))' ['.html', '.htm', '.shtml'] .html So guess_extension(x) seems to always return guess_all_extensions(x)[0]. Curiously, "shtml" is never the first element. The other two are mixed with a probability of around 50% which leads me to believe they're internally managed as a set and are therefore affected by the (relatively new) nondeterministic hashing function initialization. I don't know if stable output is guaranteed for these functions, but it sure would be nice. Messes up a whole bunch of things otherwise :-/ Please let me know if this is a bug or expected behavior. Best regards, Johannes -- >> Wo hattest Du das Beben nochmal GENAU vorhergesagt? > Zumindest nicht öffentlich! Ah, der neueste und bis heute genialste Streich unsere großen Kosmologen: Die Geheim-Vorhersage. - Karl Kaos über Rüdiger Thomas in dsa <hidbv3$om2$1...@speranza.aioe.org> -- https://mail.python.org/mailman/listinfo/python-list