##// END OF EJS Templates
More work on refactoring things into components....
More work on refactoring things into components. * Prefilters have been componentized (prefilter.py). * We are not including auto_attr from NiPy in IPython.utils. * All components are now using auto_attr when resolving refs to other components. * The AliasManager component has been updated to reflect the prefilter refactor. * prefilter.splitUserInput has been moved to IPython.core.splitinput.split_user_input as we are using this in other places in the IPython code base.

File last commit:

r2205:8ce57664
r2244:13603eb6
Show More
win32clip.py
45 lines | 1.1 KiB | text/x-python | PythonLexer
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
fperez
Fix win32 line endings.
r281
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 ip = ipapi.get()
fperez
Fix win32 line endings.
r281
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
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.define_magic( "clip", clip_f )