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 " coverage to check documentation coverage for library and C API"
|
||||
@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
|
||||
checkout:
|
||||
|
@ -149,3 +150,6 @@ dist:
|
|||
|
||||
check:
|
||||
$(PYTHON) tools/rstlint.py -i tools
|
||||
|
||||
serve:
|
||||
../Tools/scripts/serve.py build/html
|
||||
|
|
|
@ -832,6 +832,9 @@ Build
|
|||
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
|
||||
-J and -X options.
|
||||
|
||||
|
|
|
@ -56,6 +56,7 @@ pysource.py Find Python source files
|
|||
redemo.py Basic regular expression demonstration facility
|
||||
reindent.py Change .py files to use 4-space indents.
|
||||
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
|
||||
suff.py Sort a list of files by suffix
|
||||
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