Mercurial > hg > config
annotate python/tmpbuffer.py @ 929:7c4be71a560b default tip
remove old aliases
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Mon, 20 Oct 2025 15:22:19 -0700 |
| parents | b8510769d001 |
| children |
| rev | line source |
|---|---|
|
276
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 # from http://k0s.org/hg/bitsyblog/file/5c04cf601aba/bitsyblog/blogme.py |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 |
| 542 | 5 import optparse |
|
276
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 import os |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 import subprocess |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 import tempfile |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 def tmpbuffer(editor=None): |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 """open an editor and retreive the resulting editted buffer""" |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 if not editor: |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 editor = os.environ.get('EDITOR') |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 if not editor: |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 raise Exception("tmpbuffer: editor not supplied and EDITOR not defined") |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 tmpfile = tempfile.mktemp(suffix='.txt') |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
18 cmdline = editor.split() # XXX shlex would be more powerful |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
19 cmdline.append(tmpfile) |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
20 edit = subprocess.call(cmdline) |
| 859 | 21 buffer = open(tmpfile).read().strip() |
|
276
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
22 os.remove(tmpfile) |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
23 return buffer |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
24 |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
25 if __name__ == '__main__': |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
26 # purely for testing/illustration purposes |
|
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
27 contents = tmpbuffer() |
| 859 | 28 print (contents) |
|
276
dc20e1fa93d0
add a thing to make a temporary buffer
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
29 |
