Mercurial > hg > config
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 +