mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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
				
			
		
							
								
								
									
										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
	
	 R. David Murray
						R. David Murray