Clipboard Access in IronPython
October 4. 2010 Posted in:
I’m slowly getting into the swing of using IronPython to write small scripts to help me do things quicker. I’ve been updating some of the old posts on this blog to use syntaxhighlighter which is a much cleaner solution than the old mechanism. However, it did require a little bit of text manipulation of each code sample before updating it on the blog. The code simply reads the code snippet out the clipboard, performs a few basic transforms and then copies the transformed code back to the clipboard.
import io
import clipboard
code = clipboard.getText()
brush = 'csharp' if not code[0] == '<' else 'xml'
substitutions = [('&','&'),('<','<'),('>','>')]
for a,b in substitutions:
code = code.replace(a,b)
print code
code = '<pre class="brush: %s">%s</pre>' % (brush, code)
clipboard.setText(code)
The clipboard module is my own very small wrapper, which makes use of the Clipboard
object from System.Windows.Forms
:
import clr
clr.AddReference('System.Windows.Forms')
from System.Windows.Forms import Clipboard
def setText(text):
Clipboard.SetText(text)
def getText():
return Clipboard.GetText()
Comments
You should post this to the IronPython Cookbook at www.IronPython.info.
Carl Trachtethanks for the suggestion Carl, I wasn't aware of that site
Mark H