On 07/28/2010 07:02 PM, Jonathan Hartley wrote: > On Jul 28, 5:47 pm, Thomas Jollans <tho...@jollans.com> wrote: >> On 07/28/2010 06:01 PM, Jonathan Hartley wrote: >> >> >> >>> Oh, plus, while we're on this subject: >> >>> Am I right that curses in Python stdlib doesn't work on Windows, and >>> there is currently no simple way to fix this? >> >>> Also, is it crazy to imagine that if colorama was pushed through to >>> completion (ie. to support a majority of the relevant ANSI codes) then >>> Python's stdlib curses module, unmodified, would suddenly just work on >>> Windows? (after a call to 'colorama.init()') >> >>> I presume these ideas are oversimplifications or just plain wrong. If >>> anyone would care to correct my misunderstandings, I'd be very >>> grateful. >> >> Correct: it's not THAT simple. >> >> Python's curses module is a (I'm not sure how thin) wrapper around the >> good old UNIX curses (ncurses, ...) library. This is written in C, not >> Python, so it doesn't use Python's sys.stdout object to do I/O. >> >> I haven't had a look at colorama, but it sounds like it hooks into >> sys.stdout, or Python file objects anyway. Far, far above the layer >> curses does I/O on. So, if you ported a normal curses library to >> Windows, colorama wouldn't help you a bit. >> >> It might be possible to write a curses-compatible library that works >> with cmd.exe. Maybe. But, even if it's possible, I don't think it's >> easy, and I especially don't think it would be particularly rewarding. >> >> Also, I just stumbled uponhttp://adamv.com/dev/python/curses/-- this >> is probably the only reasonable way to get a useful curses API on >> Windows: forget the DOS box. > > > >> ncurses ... is written in C, not >> Python, so it doesn't use Python's sys.stdout object to do I/O. > > Ah, I should have spotted that. Of course. Thanks for the > enlightenment. > > And Neil Cerutti, I think I'll just email the whole source tree to > myself, and have a script that scans my inbox, unzips source trees and > runs their tests. Much nicer. :-)
use version control! Use mercurial, commit often, and add a commit-hook that runs tests. Then you can even set up a separate repository that your script automatically pushes your changes to if they pass the tests cleanly. -- http://mail.python.org/mailman/listinfo/python-list