From 20e4210ec4b7303f966939484c0d0023060cc442 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 28 Feb 1997 16:37:49 +0000 Subject: Fix up indentation of examples to use 4 spaces instead of tabs. --- Doc/lib/libcgi.tex | 118 ++++++++++++++++++++++++++--------------------------- Doc/libcgi.tex | 118 ++++++++++++++++++++++++++--------------------------- 2 files changed, 118 insertions(+), 118 deletions(-) diff --git a/Doc/lib/libcgi.tex b/Doc/lib/libcgi.tex index d736f39..4768f0f 100644 --- a/Doc/lib/libcgi.tex +++ b/Doc/lib/libcgi.tex @@ -40,8 +40,8 @@ telling the client what kind of data is following. Python code to generate a minimal header section looks like this: \begin{verbatim} - print "Content-type: text/html" # HTML is following - print # blank line, end of headers + print "Content-type: text/html" # HTML is following + print # blank line, end of headers \end{verbatim} The second section is usually HTML, which allows the client software @@ -49,9 +49,9 @@ to display nicely formatted text with header, in-line images, etc. Here's Python code that prints a simple piece of HTML: \begin{verbatim} - print "CGI script output" - print "

This is my first CGI script

" - print "Hello, world!" + print "CGI script output" + print "

This is my first CGI script

" + print "Hello, world!" \end{verbatim} (It may not be fully legal HTML according to the letter of the @@ -77,16 +77,16 @@ dictionary. For instance, the following code (which assumes that the the fields \code{name} and \code{addr} are both set to a non-empty string: \begin{verbatim} - form = cgi.FieldStorage() - form_ok = 0 - if form.has_key("name") and form.has_key("addr"): - if form["name"].value != "" and form["addr"].value != "": - form_ok = 1 - if not form_ok: - print "

Error

" - print "Please fill in the name and addr fields." - return - ...further form processing here... + form = cgi.FieldStorage() + form_ok = 0 + if form.has_key("name") and form.has_key("addr"): + if form["name"].value != "" and form["addr"].value != "": + form_ok = 1 + if not form_ok: + print "

Error

" + print "Please fill in the name and addr fields." + return + ...further form processing here... \end{verbatim} Here the fields, accessed through \code{form[key]}, are themselves instances @@ -101,20 +101,20 @@ instance or a list of instances. For example, here's code that concatenates any number of username fields, separated by commas: \begin{verbatim} - username = form["username"] - if type(username) is type([]): - # Multiple username fields specified - usernames = "" - for item in username: - if usernames: - # Next item -- insert comma - usernames = usernames + "," + item.value - else: - # First item -- don't insert comma - usernames = item.value - else: - # Single username field specified - usernames = username.value + username = form["username"] + if type(username) is type([]): + # Multiple username fields specified + usernames = "" + for item in username: + if usernames: + # Next item -- insert comma + usernames = usernames + "," + item.value + else: + # First item -- don't insert comma + usernames = item.value + else: + # Single username field specified + usernames = username.value \end{verbatim} If a field represents an uploaded file, the value attribute reads the @@ -124,14 +124,14 @@ file attribute. You can then read the data at leasure from the file attribute: \begin{verbatim} - fileitem = form["userfile"] - if fileitem.file: - # It's an uploaded file; count lines - linecount = 0 - while 1: - line = fileitem.file.readline() - if not line: break - linecount = linecount + 1 + fileitem = form["userfile"] + if fileitem.file: + # It's an uploaded file; count lines + linecount = 0 + while 1: + line = fileitem.file.readline() + if not line: break + linecount = linecount + 1 \end{verbatim} The file upload draft standard entertains the possibility of uploading @@ -252,7 +252,7 @@ that the first line of the script contains \code{\#!} starting in column 1 followed by the pathname of the Python interpreter, for instance: \begin{verbatim} - #!/usr/local/bin/python + #!/usr/local/bin/python \end{verbatim} Make sure the Python interpreter exists and is executable by ``others''. @@ -274,9 +274,9 @@ default module search path, you can change the path in your script, before importing other modules, e.g.: \begin{verbatim} - import sys - sys.path.insert(0, "/usr/home/joe/lib/python") - sys.path.insert(0, "/usr/local/lib/python") + import sys + sys.path.insert(0, "/usr/home/joe/lib/python") + sys.path.insert(0, "/usr/local/lib/python") \end{verbatim} (This way, the directory inserted last will be searched first!) @@ -312,7 +312,7 @@ in the standard \code{cgi-bin} directory, it should be possible to send it a request by entering a URL into your browser of the form: \begin{verbatim} - http://yourhostname/cgi-bin/cgi.py?name=Joe+Blow&addr=At+Home + http://yourhostname/cgi-bin/cgi.py?name=Joe+Blow&addr=At+Home \end{verbatim} If this gives an error of type 404, the server cannot find the script @@ -329,9 +329,9 @@ The next step could be to call the \code{cgi} module's test() function from your script: replace its main code with the single statement \begin{verbatim} - cgi.test() + cgi.test() \end{verbatim} - + This should produce the same results as those gotten from installing the \code{cgi.py} file itself. @@ -364,16 +364,16 @@ Here are the rules: For example: \begin{verbatim} - import sys - import traceback - print "Content-type: text/html" - print - sys.stderr = sys.stdout - try: - ...your code here... - except: - print "\n\n
"
-		traceback.print_exc()
+    import sys
+    import traceback
+    print "Content-type: text/html"
+    print
+    sys.stderr = sys.stdout
+    try:
+        ...your code here...
+    except:
+        print "\n\n
"
+        traceback.print_exc()
 \end{verbatim}
 
 Notes: The assignment to \code{sys.stderr} is needed because the traceback
@@ -385,11 +385,11 @@ module, you can use an even more robust approach (which only uses
 built-in modules):
 
 \begin{verbatim}
-	import sys
-	sys.stderr = sys.stdout
-	print "Content-type: text/plain"
-	print
-	...your code here...
+    import sys
+    sys.stderr = sys.stdout
+    print "Content-type: text/plain"
+    print
+    ...your code here...
 \end{verbatim}
 
 This relies on the Python interpreter to print the traceback.  The
diff --git a/Doc/libcgi.tex b/Doc/libcgi.tex
index d736f39..4768f0f 100644
--- a/Doc/libcgi.tex
+++ b/Doc/libcgi.tex
@@ -40,8 +40,8 @@ telling the client what kind of data is following.  Python code to
 generate a minimal header section looks like this:
 
 \begin{verbatim}
-	print "Content-type: text/html"	# HTML is following
-	print				# blank line, end of headers
+    print "Content-type: text/html"     # HTML is following
+    print                               # blank line, end of headers
 \end{verbatim}
 
 The second section is usually HTML, which allows the client software
@@ -49,9 +49,9 @@ to display nicely formatted text with header, in-line images, etc.
 Here's Python code that prints a simple piece of HTML:
 
 \begin{verbatim}
-	print "CGI script output"
-	print "

This is my first CGI script

" - print "Hello, world!" + print "CGI script output" + print "

This is my first CGI script

" + print "Hello, world!" \end{verbatim} (It may not be fully legal HTML according to the letter of the @@ -77,16 +77,16 @@ dictionary. For instance, the following code (which assumes that the the fields \code{name} and \code{addr} are both set to a non-empty string: \begin{verbatim} - form = cgi.FieldStorage() - form_ok = 0 - if form.has_key("name") and form.has_key("addr"): - if form["name"].value != "" and form["addr"].value != "": - form_ok = 1 - if not form_ok: - print "

Error

" - print "Please fill in the name and addr fields." - return - ...further form processing here... + form = cgi.FieldStorage() + form_ok = 0 + if form.has_key("name") and form.has_key("addr"): + if form["name"].value != "" and form["addr"].value != "": + form_ok = 1 + if not form_ok: + print "

Error

" + print "Please fill in the name and addr fields." + return + ...further form processing here... \end{verbatim} Here the fields, accessed through \code{form[key]}, are themselves instances @@ -101,20 +101,20 @@ instance or a list of instances. For example, here's code that concatenates any number of username fields, separated by commas: \begin{verbatim} - username = form["username"] - if type(username) is type([]): - # Multiple username fields specified - usernames = "" - for item in username: - if usernames: - # Next item -- insert comma - usernames = usernames + "," + item.value - else: - # First item -- don't insert comma - usernames = item.value - else: - # Single username field specified - usernames = username.value + username = form["username"] + if type(username) is type([]): + # Multiple username fields specified + usernames = "" + for item in username: + if usernames: + # Next item -- insert comma + usernames = usernames + "," + item.value + else: + # First item -- don't insert comma + usernames = item.value + else: + # Single username field specified + usernames = username.value \end{verbatim} If a field represents an uploaded file, the value attribute reads the @@ -124,14 +124,14 @@ file attribute. You can then read the data at leasure from the file attribute: \begin{verbatim} - fileitem = form["userfile"] - if fileitem.file: - # It's an uploaded file; count lines - linecount = 0 - while 1: - line = fileitem.file.readline() - if not line: break - linecount = linecount + 1 + fileitem = form["userfile"] + if fileitem.file: + # It's an uploaded file; count lines + linecount = 0 + while 1: + line = fileitem.file.readline() + if not line: break + linecount = linecount + 1 \end{verbatim} The file upload draft standard entertains the possibility of uploading @@ -252,7 +252,7 @@ that the first line of the script contains \code{\#!} starting in column 1 followed by the pathname of the Python interpreter, for instance: \begin{verbatim} - #!/usr/local/bin/python + #!/usr/local/bin/python \end{verbatim} Make sure the Python interpreter exists and is executable by ``others''. @@ -274,9 +274,9 @@ default module search path, you can change the path in your script, before importing other modules, e.g.: \begin{verbatim} - import sys - sys.path.insert(0, "/usr/home/joe/lib/python") - sys.path.insert(0, "/usr/local/lib/python") + import sys + sys.path.insert(0, "/usr/home/joe/lib/python") + sys.path.insert(0, "/usr/local/lib/python") \end{verbatim} (This way, the directory inserted last will be searched first!) @@ -312,7 +312,7 @@ in the standard \code{cgi-bin} directory, it should be possible to send it a request by entering a URL into your browser of the form: \begin{verbatim} - http://yourhostname/cgi-bin/cgi.py?name=Joe+Blow&addr=At+Home + http://yourhostname/cgi-bin/cgi.py?name=Joe+Blow&addr=At+Home \end{verbatim} If this gives an error of type 404, the server cannot find the script @@ -329,9 +329,9 @@ The next step could be to call the \code{cgi} module's test() function from your script: replace its main code with the single statement \begin{verbatim} - cgi.test() + cgi.test() \end{verbatim} - + This should produce the same results as those gotten from installing the \code{cgi.py} file itself. @@ -364,16 +364,16 @@ Here are the rules: For example: \begin{verbatim} - import sys - import traceback - print "Content-type: text/html" - print - sys.stderr = sys.stdout - try: - ...your code here... - except: - print "\n\n
"
-		traceback.print_exc()
+    import sys
+    import traceback
+    print "Content-type: text/html"
+    print
+    sys.stderr = sys.stdout
+    try:
+        ...your code here...
+    except:
+        print "\n\n
"
+        traceback.print_exc()
 \end{verbatim}
 
 Notes: The assignment to \code{sys.stderr} is needed because the traceback
@@ -385,11 +385,11 @@ module, you can use an even more robust approach (which only uses
 built-in modules):
 
 \begin{verbatim}
-	import sys
-	sys.stderr = sys.stdout
-	print "Content-type: text/plain"
-	print
-	...your code here...
+    import sys
+    sys.stderr = sys.stdout
+    print "Content-type: text/plain"
+    print
+    ...your code here...
 \end{verbatim}
 
 This relies on the Python interpreter to print the traceback.  The
-- 
cgit v0.12