Initial revision
svn: r3
This commit is contained in:
		
							
								
								
									
										68
									
								
								py-compile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								py-compile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| #!/bin/sh | ||||
| # called as "py-compile [--basedir DIR] PY_FILES ... | ||||
|  | ||||
| if [ -z "$PYTHON" ]; then | ||||
|   PYTHON=python | ||||
| fi | ||||
|  | ||||
| basedir= | ||||
|  | ||||
| case "$1" in | ||||
|     --basedir) | ||||
| 	basedir=$2 | ||||
| 	shift 2 | ||||
| 	;; | ||||
|     --help) | ||||
| 	echo "Usage: py-compile [--basedir DIR] PY_FILES ..." | ||||
| 	echo "Byte compile some python scripts.  This should be performed" | ||||
| 	echo "after they have been moved to the final installation location" | ||||
| 	exit 0 | ||||
| 	;; | ||||
|     --version) | ||||
| 	echo "py-compile version 0.0" | ||||
| 	exit 0 | ||||
| 	;; | ||||
| esac | ||||
|  | ||||
| if [ $# = 0 ]; then | ||||
|     echo "No files given to $0" 1>&2 | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| # if basedir was given, then it should be prepended to filenames before | ||||
| # byte compilation. | ||||
| if [ -z "$basedir" ]; then | ||||
|     trans="path = file" | ||||
| else | ||||
|     trans="path = os.path.join('$basedir', file)" | ||||
| fi | ||||
|  | ||||
| $PYTHON -c " | ||||
| import sys, os, string, py_compile | ||||
|  | ||||
| files = '''$*''' | ||||
| print 'Byte-compiling python modules...' | ||||
| for file in string.split(files): | ||||
|     $trans | ||||
|     if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): | ||||
| 	continue | ||||
|     print file, | ||||
|     sys.stdout.flush() | ||||
|     py_compile.compile(path) | ||||
| print" || exit $? | ||||
|  | ||||
| # this will fail for python < 1.5, but that doesn't matter ... | ||||
| $PYTHON -O -c " | ||||
| import sys, os, string, py_compile | ||||
|  | ||||
| files = '''$*''' | ||||
| print 'Byte-compiling python modules (optimised versions) ...' | ||||
| for file in string.split(files): | ||||
|     $trans | ||||
|     if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): | ||||
| 	continue | ||||
|     print file, | ||||
|     sys.stdout.flush() | ||||
|     py_compile.compile(path) | ||||
| print" 2>/dev/null || : | ||||
|  | ||||
		Reference in New Issue
	
	Block a user