VT100 in Python
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Mon Sep 14 09:43:11 EDT 2009
On 09:29 am, nick at craig-wood.com wrote:
>Wolfgang Rohdewald <wolfgang at rohdewald.de> wrote:
>> On Sunday 13 September 2009, Nadav Chernin wrote:
>> > I'm writing program that read data from some instrument trough
>> > RS232. This instrument send data in VT100 format. I need only to
>> > extract the text without all other characters that describe how to
>> > represent data on the screen. Is there some library in python for
>> > converting VT100 strings?
>>
>> that should be easy using regular expressions
>
>At a basic level parsing VT100 is quite easy, so you can get rid of
>the VT100 control. They start with ESC, have other characters in the
>middle then end with a letter (upper or lowercase), so a regexp will
>make short work of them. Something like r"\x1B[^A-Za-z]*[A-Za-z]"
>
>You might need to parse the VT100 stream as VT100 builds up a screen
>buffer though and the commands don't always come out in the order you
>might expect.
>
>I think twisted has VT100 emulator, but I couldn't find it in a brief
>search just now.
Yep, though it's one of the parts of Twisted that only has API
documentation and a few examples, no expository prose-style docs. If
you're feeling brave, though:
http://twistedmatrix.com/documents/current/api/twisted.conch.insults.insults.ITerminalTransport.html
http://twistedmatrix.com/documents/current/api/twisted.conch.insults.insults.ITerminalProtocol.html
http://twistedmatrix.com/projects/conch/documentation/examples/ (the
insults section)
It's not really all that complicated, but without adequate docs it can
still be tricky to figure things out. There's almost always someone on
IRC (#twisted on freenode) to offer real-time help, though.
Jean-Paul
More information about the Python-list
mailing list