diff --git a/IPython/Extensions/win32clip.py b/IPython/Extensions/win32clip.py new file mode 100644 index 0000000..75d7406 --- /dev/null +++ b/IPython/Extensions/win32clip.py @@ -0,0 +1,29 @@ +import IPython.ipapi +import win32clipboard + +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.""" + + args = parameter_s.split() + if len(args) == 0: + return None # xxx todo return clipboard text + + ranges = args[0:] + cmds = ''.join(self.extract_input_slices(ranges)) + win32clipboard.OpenClipboard() + win32clipboard.EmptyClipboard() + win32clipboard.SetClipboardText(cmds) + win32clipboard.CloseClipboard() + print 'The following commands were written to the clipboard' + print cmds + +ip.expose_magic("clip",clip_f) \ No newline at end of file