classification
Title: Update cgi module doc
Type: Stage: patch review
Components: Documentation Versions: Python 3.5, Python 3.4
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: orsenthil Nosy List: BreamoreBoy, Jim.Jewett, amaury.forgeotdarc, andyharrington, berker.peksag, docs@python, erob, flox, ggenellina, levkivskyi, mutley89, oopos, orsenthil, python-dev, quentel, r.david.murray, sandro.tosi, tcourbon, tobias, v+python, vstinner
Priority: high Keywords: needs review, patch

Created on 2011-02-28 12:14 by quentel, last changed 2015-06-29 12:11 by levkivskyi.

Files
File name Uploaded Description Edit
cgi-doc-update.patch quentel, 2012-04-30 08:40 CGI doc patch proposal review
cgi-doc.patch quentel, 2012-05-09 16:30 Partial rewriting of the CGI module documentation review
cgi-doc.patch quentel, 2012-05-10 15:01 Partial rewriting of the CGI module documentation review
cgi-doc.patch mutley89, 2015-02-06 13:00 Partial rewriting of the CGI module documentation review
Messages (19)
msg129691 - (view) Author: Pierre Quentel (quentel) * Date: 2011-02-28 12:14
Hi,

I wrote a patch for the cgi module in version 3.2rc1 (#4953). Small changes should be done to the documentation of this module to reflect the changes in the module API :

- in section "20.2.2. Using the cgi module"

original text :
"If a field represents an uploaded file, accessing the value via the value attribute or the getvalue() method reads the entire file in memory as a string. This may not be what you want. You can test for an uploaded file by testing either the filename attribute or the file attribute. You can then read the data at leisure from the file attribute:"

proposed new text (for files, value is bytes, not string, and the read() method on file also returns bytes) :
"If a field represents an uploaded file, accessing the value via the value attribute or the getvalue() method reads the entire file in memory as bytes. This may not be what you want. You can test for an uploaded file by testing either the filename attribute or the file attribute. You can then read the data at leisure from the file attribute (the read() and readline() methods will return bytes) :"

- version 3.2 introduced a parameter "encoding" for the FieldStorage constructor, used to decode the bytes received on the HTTP connection for fields other than files. This encoding must the one defined in the HTML document holding the form submitted to the CGI script ; it is usually defined by a meta tag :
<meta http-equiv="Content-type" content="text/html;charset=latin-1">
or by the Content-Type header for this document

I'm not sure where this should be mentioned in the module documentation. Maybe in "20.2.9. Common problems and solutions" for the moment. But there are plans (#11066) to introduce another interface to change the encoding of sys.stdout in the CGI script itself, so another option would be to open a specific section about encodings

Hope it's clear enough
Pierre
msg129692 - (view) Author: Pierre Quentel (quentel) * Date: 2011-02-28 12:16
"bug", not "buf"...
msg159595 - (view) Author: Hynek Schlawack (hynek) * (Python committer) Date: 2012-04-29 10:20
What is the reason for this one to languish for over a year now? Lack of proper patch? It’s marked “high priority”, so let’s get moving.
msg159658 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2012-04-29 22:56
> What is the reason for this one to languish for over a year now?

Maybe because few people are concerned by the cgi module?

> Lack of proper patch?

It would help to have a patch attached to the issue, and a review of the patch.
msg159671 - (view) Author: Pierre Quentel (quentel) * Date: 2012-04-30 07:47
Thanks Hynek for raising this issue from the dead

Patch proposal attached. Sorry if there are markup errors, it's my first contact with rst
msg159675 - (view) Author: Hynek Schlawack (hynek) * (Python committer) Date: 2012-04-30 08:05
That’s not a patch. :) Posting whole files makes them very hard to review because you can’t spot the changes.

The best thing would be to get a fresh clone of the repo: http://docs.python.org/devguide/setup.html#setup , copy your edited file to the appropriate place and run `hg diff`.

If it looks okay, redirect the output into a file (something like `hg diff >cgi-doc-update.patch`) and attach it to this issue.
msg159678 - (view) Author: Pierre Quentel (quentel) * Date: 2012-04-30 08:40
Sorry about that. I didn't dare to say I was also a Mercurial newbie
msg159679 - (view) Author: Senthil Kumaran (orsenthil) * (Python committer) Date: 2012-04-30 08:41
Not to worry about that Pierre. I shall review the patch (contents) in
the evening (SGT) and I should be able to commit/close this issue.

Thanks,
Senthil
msg159680 - (view) Author: Pierre Quentel (quentel) * Date: 2012-04-30 08:47
Thanks Senthil
I spot a typo in the first modified paragraph : "cet" instead of "set"
msg159700 - (view) Author: Roundup Robot (python-dev) Date: 2012-04-30 14:43
New changeset a54b6e321f1c by Senthil Kumaran in branch '3.2':
Issue11352 - Update cgi module docs
http://hg.python.org/cpython/rev/a54b6e321f1c

New changeset 910a4b12c796 by Senthil Kumaran in branch 'default':
Issue11352 - Update cgi module docs
http://hg.python.org/cpython/rev/910a4b12c796
msg159701 - (view) Author: Senthil Kumaran (orsenthil) * (Python committer) Date: 2012-04-30 14:46
I have made the suggested specific changes, but while reviewing the entire doc, I realized that much improvements can be made. Keeping the documentation more helpful aligned with the cgi.py APIs. I shall keep bug report to update the cgi docs further.
msg160304 - (view) Author: Pierre Quentel (quentel) * Date: 2012-05-09 16:30
Hi,

I started working on a revised version of the whole cgi documentation. I mostly changed paragraphs 2 & 3 ("Using the CGI module" and "Higher level interface") and replaced them by a paragraph still called "Using the CGI module" + 2 other paragraphs for special cases : "Multiple fields with the same name" and "File uploads"

The content is basically the same but the new presentation is hopefully more clear

The patch is attached as file cgi-doc.patch
msg160348 - (view) Author: Pierre Quentel (quentel) * Date: 2012-05-10 15:01
I attach a new version after sharing thought with Glenn

CGI scripts are still unable to define which encoding to use to print the strings received from the user agent. A patch was proposed #11066 but the issue is still pending. The new version documents this issue
msg213984 - (view) Author: Jim Jewett (Jim.Jewett) Date: 2014-03-18 15:54
What is the status of this?

Have any of the changes been applied?
Are any of the other patches still appropriate?
Is this now dependent on any other issues/any non-doc updates?
msg214061 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-03-19 06:59
> Have any of the changes been applied?

A modified version of cgi-doc-update.patch was committed. (see msg159700)

I left a couple of comments for cgi-doc.patch on Rietveld.
msg214265 - (view) Author: Jim Jewett (Jim.Jewett) Date: 2014-03-20 19:38
I have now also looked at cgi-doc.patch, and it is not strictly documentation changes.  I have no informed opinion on the the additional changes, but I don't think they should go in as "doc change".
msg214267 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-03-20 19:58
It looks like the non-doc stuff was accidental inclusions and should be ignored.  Or better, the patch author could address Berker and Jim's comments and resubmit a clean patch.
msg220983 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-06-19 14:23
@Pierre can you submit a clean patch as requested in msg214267?
msg235481 - (view) Author: Matthew Atkinson (mutley89) * Date: 2015-02-06 13:00
Hi

I've modified Pierre's patch to apply to the latest 3.5 and 3.4, and made the most of the simple changes suggested in http://bugs.python.org/review/11352/#ps4792 . I've also added all the non internal parameters to the FieldStorage constructor, and descriptions of them.

Thanks,
Matt
History
Date User Action Args
2015-06-29 12:11:31levkivskyisetnosy: + levkivskyi
2015-02-06 13:00:17mutley89setfiles: + cgi-doc.patch
nosy: + mutley89
messages: + msg235481

2014-12-31 16:22:16akuchlingsetnosy: - akuchling
2014-06-19 14:23:28BreamoreBoysetnosy: + BreamoreBoy
messages: + msg220983
2014-03-20 19:58:34r.david.murraysetmessages: + msg214267
2014-03-20 19:38:56Jim.Jewettsetmessages: + msg214265
2014-03-19 06:59:21berker.peksagsetnosy: + berker.peksag

messages: + msg214061
versions: + Python 3.4, Python 3.5, - Python 3.2, Python 3.3
2014-03-18 15:54:48Jim.Jewettsetnosy: + Jim.Jewett
messages: + msg213984
2013-06-14 20:42:45akuchlingsetnosy: + akuchling
2012-05-10 15:01:29quentelsetfiles: + cgi-doc.patch

messages: + msg160348
2012-05-09 16:30:22quentelsetfiles: + cgi-doc.patch

messages: + msg160304
2012-04-30 15:48:28pebbesetnosy: - pebbe
2012-04-30 15:39:11hyneksetnosy: - hynek
2012-04-30 14:46:11orsenthilsetmessages: + msg159701
2012-04-30 14:43:59python-devsetnosy: + python-dev
messages: + msg159700
2012-04-30 08:47:25quentelsetmessages: + msg159680
2012-04-30 08:41:29orsenthilsetmessages: + msg159679
2012-04-30 08:40:26quentelsetfiles: - cgi.rst
2012-04-30 08:40:06quentelsetfiles: + cgi-doc-update.patch

messages: + msg159678
2012-04-30 08:05:27hyneksetmessages: + msg159675
2012-04-30 07:47:54quentelsetfiles: + cgi.rst

messages: + msg159671
2012-04-29 22:56:12vstinnersetmessages: + msg159658
2012-04-29 15:24:05orsenthilsetassignee: docs@python -> orsenthil

nosy: + orsenthil
2012-04-29 10:20:21hyneksetnosy: + sandro.tosi, hynek
messages: + msg159595
2011-07-08 14:50:14eric.araujosetpriority: normal -> high
versions: + Python 3.3

keywords: + patch, needs review
nosy: + amaury.forgeotdarc, ggenellina, vstinner, andyharrington, v+python, r.david.murray, oopos, tcourbon, tobias, flox, pebbe, erob
title: Bug in cgi module doc -> Update cgi module doc
type: behavior ->
stage: patch review
2011-02-28 12:16:33quentelsetmessages: + msg129692
title: Buf in cgi module doc -> Bug in cgi module doc
2011-02-28 12:14:19quentelcreate