classification
Title: Remove usage of rfc822 from the stdlib
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.0, Python 2.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: barry, benjamin.peterson, brett.cannon, hdiogenes
Priority: critical Keywords: patch

Created on 2008-05-14 01:02 by brett.cannon, last changed 2008-06-12 22:16 by benjamin.peterson. This issue is now closed.

Files
File name Uploaded Description Edit
remove_rfc822-test_urllib2.py hdiogenes, 2008-05-19 06:36 Removes rfc822 from test_urllib2
remove_rfc822-cgi-incomplete.py hdiogenes, 2008-05-19 07:00 First attempt at removing rfc822 from cgi
remove_rfc822_from_cgi.patch hdiogenes, 2008-06-01 19:38 Remove rfc822 from cgi module
Messages (12)
msg66810 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2008-05-14 01:02
The rfc822 module has been deprecated for a while but is still used in the 
stdlib (at least in 'cgi' and 'test_urllib2'). All uses need to go before 
the module can be removed.
msg67055 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-05-19 05:34
A quick search for rfc822 imports in py3k reveals this:

$ find . -name '*.py' | xargs egrep -nr '(from|import) rfc822'
./Demo/scripts/mboxconvert.py:7:import rfc822
./Lib/cgi.py:39:import rfc822
./Lib/mimetools.py:5:import rfc822
./Lib/test/test_rfc822.py:1:import rfc822
./Lib/test/test_urllib2.py:587:        import rfc822, socket
./Tools/faqwiz/faqwiz.py:210:            import rfc822
./Tools/scripts/mailerdaemon.py:3:import rfc822
./Tools/versioncheck/pyversioncheck.py:2:import rfc822

The real "release blockers" should be cgi, mimetools and test_urllib2.
msg67056 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-05-19 06:00
Correction: mimetools is also being removed from py3k (issue 2848).
msg67057 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-05-19 07:00
Tried to just replace rfc822.Message with email.message_from_file in 
cgi.py but it didn't work. I still have to figure out how to fix 
FieldStorage.read_multi.
msg67569 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-05-31 06:51
Seems that removing rfc822 from `cgi` is not an easy task -- please see issue 1112856.
msg67597 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-06-01 19:38
Added a patch that successfully removes rfc822 dependency from the cgi 
module, using ideas from issue 1112856. I had to change one test, as the 
email FeedParser ignores trailing spaces in subparts.
msg67626 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-06-02 03:33
With the attached patches, rfc822 won't be used anywhere inside Lib/ 
anymore (with the exception of mimetools, which is going away too).

Is there any reason to convert the files below? Shouldn't they be removed 
from 3.0?
Demo/scripts/mboxconvert.py -> superseded by mailbox.py
Tools/faqwiz/faqwiz.py -> really old (1998)
Tools/scripts/mailerdaemon.py -> still useful?
Tools/versioncheck/pyversioncheck.py -> really old (1997)
msg67642 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2008-06-02 22:07
On Sun, Jun 1, 2008 at 8:33 PM, Humberto Diogenes
<report@bugs.python.org> wrote:
>
> Humberto Diogenes <humberto@digi.com.br> added the comment:
>
> With the attached patches, rfc822 won't be used anywhere inside Lib/
> anymore (with the exception of mimetools, which is going away too).
>
> Is there any reason to convert the files below? Shouldn't they be removed
> from 3.0?
> Demo/scripts/mboxconvert.py -> superseded by mailbox.py
> Tools/faqwiz/faqwiz.py -> really old (1998)
> Tools/scripts/mailerdaemon.py -> still useful?
> Tools/versioncheck/pyversioncheck.py -> really old (1997)
>

Probably. I bet both the Demo and Tools directory need a thorough clean-up.
msg68046 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2008-06-12 02:43
Reviewed and applied to Python 3.0 in r64161.  The patch did not apply
cleanly for 2.6.  I'm going to bump this down to critical for the first
betas.  Humberto, can you back port it to Python 2.6?
msg68083 - (view) Author: Humberto Diogenes (hdiogenes) Date: 2008-06-12 20:36
[msg68060]
>> Why does it need to be in 2.6? mimetools is still there.
>
> I guess you're right, it doesn't.

So, does it make sense to backport this too?
msg68091 - (view) Author: Barry A. Warsaw (barry) * (Python committer) Date: 2008-06-12 21:16
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Jun 12, 2008, at 4:36 PM, Humberto Diogenes wrote:

> Humberto Diogenes <humberto@digi.com.br> added the comment:
>
> [msg68060]
>>> Why does it need to be in 2.6? mimetools is still there.
>>
>> I guess you're right, it doesn't.
>
> So, does it make sense to backport this too?

No.

Thanks,
- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSFGSL3EjvBPtnXfVAQLooAP+PQK6Q9p6lDbmLkBgbQio5CXdckssMMyI
yvj0DYvK5wBYCurCjOTZ5VFUQZTEloj6p/89qf3HScfUASlIie1vJJRUqCktPDLs
THBicAS9lUXWLhmrD6ADgaLN88JMlTGnzpe03vBpScgFfy3fp8QHBoMzjud38amn
ozB6lzB+mAQ=
=qHGu
-----END PGP SIGNATURE-----
msg68103 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-06-12 22:16
I've removed the whole module in r64203.
History
Date User Action Args
2008-06-12 22:17:11benjamin.petersonunlinkissue2775 dependencies
2008-06-12 22:16:12benjamin.petersonsetstatus: open -> closed
resolution: fixed
messages: + msg68103
nosy: + benjamin.peterson
2008-06-12 21:16:35barrysetmessages: + msg68091
2008-06-12 20:36:35hdiogenessetmessages: + msg68083
2008-06-12 02:43:33barrysetpriority: release blocker -> critical
nosy: + barry
messages: + msg68046
2008-06-02 22:07:11brett.cannonsetmessages: + msg67642
2008-06-02 03:33:09hdiogenessetmessages: + msg67626
2008-06-01 19:38:57hdiogenessetfiles: + remove_rfc822_from_cgi.patch
keywords: + patch
messages: + msg67597
2008-05-31 06:51:11hdiogenessetmessages: + msg67569
2008-05-19 07:00:49hdiogenessetfiles: + remove_rfc822-cgi-incomplete.py
messages: + msg67057
2008-05-19 06:36:31hdiogenessetfiles: + remove_rfc822-test_urllib2.py
2008-05-19 06:00:32hdiogenessetmessages: + msg67056
2008-05-19 05:34:39hdiogenessetnosy: + hdiogenes
messages: + msg67055
2008-05-16 04:43:17brett.cannonsetpriority: critical -> release blocker
2008-05-14 01:02:16brett.cannonlinkissue2775 dependencies
2008-05-14 01:02:03brett.cannoncreate