##// END OF EJS Templates
- Cleanup [1786], which went in with unfinished stuff by accident....
- Cleanup [1786], which went in with unfinished stuff by accident. - Revert [1785] and replace it by installing our own quitter in place of the builtin (for all py versions). This obviates the need for [1785] and gives a cleaner exit. - Fix ipdb to work with python 2.5, and update ipdb color schemes with %colors. - irunner improvements, mostly for use as a doctest runner.

File last commit:

r281:d670193a
r368:ede41cba
Show More
win32clip.py
45 lines | 1.1 KiB | text/x-python | PythonLexer
import IPython.ipapi
ip = IPython.ipapi.get()
def clip_f( self, parameter_s = '' ):
"""Save a set of lines to the clipboard.
Usage:\\
%clip n1-n2 n3-n4 ... n5 .. n6 ...
This function uses the same syntax as %macro for line extraction, but
instead of creating a macro it saves the resulting string to the
clipboard.
When used without arguments, this returns the text contents of the clipboard.
E.g.
mytext = %clip
"""
import win32clipboard as cl
import win32con
args = parameter_s.split()
cl.OpenClipboard()
if len( args ) == 0:
data = cl.GetClipboardData( win32con.CF_TEXT )
cl.CloseClipboard()
return data
api = self.getapi()
if parameter_s.lstrip().startswith('='):
rest = parameter_s[parameter_s.index('=')+1:].strip()
val = str(api.ev(rest))
else:
ranges = args[0:]
val = ''.join( self.extract_input_slices( ranges ) )
cl.EmptyClipboard()
cl.SetClipboardText( val )
cl.CloseClipboard()
print 'The following text was written to the clipboard'
print val
ip.expose_magic( "clip", clip_f )