[issue7644] bug in nntplib.body() method with possible fix
report at bugs.python.org
Thu Jan 7 05:30:27 CET 2010
Michael Mullins <pabloonbreak at gmail.com> added the comment:
"('crash' is for the interpreter crashing)"
"Unless someone feels like creating an nntp test framework..."
This sounds like it is beyond me. But given the evidence, specifically the previous line:
"file.write(line + b'\n')"
...the module is obviously writing as binary. I know that opening the files created by this method in 3.0 requires the 'rb' flag so it seems a safe bet. And I am actually using this module (as revised above) to get work done.
I apologise if this isn't the place for this (should I open another ticket?) but as a larger issue with 3.x in general, it was very confusing about when to use binary data and when to use strings when using nntplib. It took a lot of trial and error. If there was someway to make this more clear, or perhaps the methods themselves could be made flexible, excepting both types but always outputing in binary. (Liberal with input but conservative in output.) This would allow anyone working with nntplib to interact with the module in a completely binary way, understanding that all output will be explicitly binary, and that if strings are necessary, it's for the user to decode().
Just a thought.
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list