mirror of
https://github.com/python/cpython.git
synced 2025-10-17 20:28:43 +00:00
Merged revisions 78416,78430 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r78416 | dirkjan.ochtman | 2010-02-23 23:12:11 -0500 (Tue, 23 Feb 2010) | 1 line Issue #8004: add a serve target to the Doc Makefile. ........ r78430 | dirkjan.ochtman | 2010-02-24 12:06:31 -0500 (Wed, 24 Feb 2010) | 1 line Add some notes about Tools/scripts/serve.py. ........
This commit is contained in:
parent
61605d7685
commit
e821cb6f24
4 changed files with 39 additions and 0 deletions
|
@ -27,6 +27,7 @@ help:
|
||||||
@echo " suspicious to check for suspicious markup in output text"
|
@echo " suspicious to check for suspicious markup in output text"
|
||||||
@echo " coverage to check documentation coverage for library and C API"
|
@echo " coverage to check documentation coverage for library and C API"
|
||||||
@echo " dist to create a \"dist\" directory with archived docs for download"
|
@echo " dist to create a \"dist\" directory with archived docs for download"
|
||||||
|
@echo " serve to serve the documentation on the localhost (8000)"
|
||||||
|
|
||||||
# Note: if you update versions here, do the same in make.bat and README.txt
|
# Note: if you update versions here, do the same in make.bat and README.txt
|
||||||
checkout:
|
checkout:
|
||||||
|
@ -149,3 +150,6 @@ dist:
|
||||||
|
|
||||||
check:
|
check:
|
||||||
$(PYTHON) tools/rstlint.py -i tools
|
$(PYTHON) tools/rstlint.py -i tools
|
||||||
|
|
||||||
|
serve:
|
||||||
|
../Tools/scripts/serve.py build/html
|
||||||
|
|
|
@ -832,6 +832,9 @@ Build
|
||||||
Documentation
|
Documentation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
- A small wsgi server was added as Tools/scripts/serve.py, and is used to
|
||||||
|
implement a local documentation server via 'make serve' in the doc directory.
|
||||||
|
|
||||||
- Updating `Using Python` documentation to include description of CPython's
|
- Updating `Using Python` documentation to include description of CPython's
|
||||||
-J and -X options.
|
-J and -X options.
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ pysource.py Find Python source files
|
||||||
redemo.py Basic regular expression demonstration facility
|
redemo.py Basic regular expression demonstration facility
|
||||||
reindent.py Change .py files to use 4-space indents.
|
reindent.py Change .py files to use 4-space indents.
|
||||||
rgrep.py Reverse grep through a file (useful for big logfiles)
|
rgrep.py Reverse grep through a file (useful for big logfiles)
|
||||||
|
serve.py Small wsgiref-based web server, used in make serve in Doc
|
||||||
setup.py Install all scripts listed here
|
setup.py Install all scripts listed here
|
||||||
suff.py Sort a list of files by suffix
|
suff.py Sort a list of files by suffix
|
||||||
svneol.py Sets svn:eol-style on all files in directory
|
svneol.py Sets svn:eol-style on all files in directory
|
||||||
|
|
31
Tools/scripts/serve.py
Executable file
31
Tools/scripts/serve.py
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
'''
|
||||||
|
Small wsgiref based web server. Takes a path to serve from and an
|
||||||
|
optional port number (defaults to 8000), then tries to serve files.
|
||||||
|
Mime types are guessed from the file names, 404 errors are thrown
|
||||||
|
if the file is not found. Used for the make serve target in Doc.
|
||||||
|
'''
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import mimetypes
|
||||||
|
from wsgiref import simple_server, util
|
||||||
|
|
||||||
|
def app(environ, respond):
|
||||||
|
|
||||||
|
fn = os.path.join(path, environ['PATH_INFO'][1:])
|
||||||
|
if '.' not in fn.split(os.path.sep)[-1]:
|
||||||
|
fn = os.path.join(fn, 'index.html')
|
||||||
|
type = mimetypes.guess_type(fn)[0]
|
||||||
|
|
||||||
|
if os.path.exists(fn):
|
||||||
|
respond('200 OK', [('Content-Type', type)])
|
||||||
|
return util.FileWrapper(open(fn))
|
||||||
|
else:
|
||||||
|
respond('404 Not Found', [('Content-Type', 'text/plain')])
|
||||||
|
return ['not found']
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
path = sys.argv[1]
|
||||||
|
port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000
|
||||||
|
httpd = simple_server.make_server('', port, app)
|
||||||
|
httpd.serve_forever()
|
Loading…
Add table
Add a link
Reference in a new issue