diff python/tmpbuffer.py @ 276:dc20e1fa93d0

add a thing to make a temporary buffer
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 18 Apr 2013 16:14:09 -0700
parents
children e07b99607d27
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/tmpbuffer.py	Thu Apr 18 16:14:09 2013 -0700
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+# from http://k0s.org/hg/bitsyblog/file/5c04cf601aba/bitsyblog/blogme.py
+
+import os
+import subprocess
+import tempfile
+
+def tmpbuffer(editor=None):
+    """open an editor and retreive the resulting editted buffer"""
+
+    if not editor:
+        editor = os.environ.get('EDITOR')
+        if not editor:
+            raise Exception("tmpbuffer: editor not supplied and EDITOR not defined")
+    tmpfile = tempfile.mktemp(suffix='.txt')
+    cmdline = editor.split() # XXX shlex would be more powerful
+    cmdline.append(tmpfile)
+    edit = subprocess.call(cmdline)
+    buffer = file(tmpfile).read().strip()
+    os.remove(tmpfile)
+    return buffer
+
+if __name__ == '__main__':
+    # purely for testing/illustration purposes
+    contents = tmpbuffer()
+    print contents
+