freeze: add -o option for setting output file
authorMark Lodato <lodatom@gmail.com>
Mon, 5 Oct 2009 00:01:27 +0000 (20:01 -0400)
committerMark Lodato <lodatom@gmail.com>
Mon, 5 Oct 2009 00:01:27 +0000 (20:01 -0400)
Demos/freeze/README.rst
bin/cython_freeze

index d2165a8f1a7d11409aacb412c85f75b3146f099d..9b97a8bd92950a47d26a44f05cbd29cd2035669f 100644 (file)
@@ -7,7 +7,7 @@ cython_freeze - create a C file for embedding Cython modules
 SYNOPSIS
 ========
 
-cython_freeze module [...]
+cython_freeze [-o outfile] module [...]
 
 
 DESCRIPTION
@@ -28,6 +28,12 @@ simplicity.  This module, on the other hand, can be used with multiple
 modules, but it requires another C source file to be created.
 
 
+OPTIONS
+=======
+
+-o FILE, --outfile=FILE   write output to FILE instead of standard output
+
+
 EXAMPLE
 =======
 
index b2816304038519b04bfa70ac7bbdc7312025369f..b9441e4eaa8d9a067a8cb796c9defbf72377f5fe 100755 (executable)
@@ -8,9 +8,11 @@ See Demos/freeze/README.rst for more details.
 
 import optparse
 
-usage= '%prog module [module ...]'
+usage= '%prog [-o outfile] module [module ...]'
 description = 'Create a C file for embedding Cython modules.'
 p = optparse.OptionParser(usage=usage, description=description)
+p.add_option('-o', '--output', metavar='FILE',
+        help='write output to FILE instead of standard output')
 
 options, args = p.parse_args()
 
@@ -18,6 +20,11 @@ if len(args) < 1:
     p.print_help()
     p.exit(1)
 
+if options.output:
+    import sys
+    old_stdout = sys.stdout
+    sys.stdout = open(options.output, 'w')
+
 def format_modname(name):
     if name.endswith('.pyx'):
         name = name[:-4]