diff options
author | hut <hut@lavabit.com> | 2009-11-22 21:26:29 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2009-11-22 21:26:29 +0100 |
commit | ec338c02cf3b31d2ed1438752c338bd6123f3044 (patch) | |
tree | 944f5f6c1b8df356ebe2ee0c65c9e7acfe54ad72 /test1.py | |
parent | 0298508e1d6f0fca8b12d9647b0542ad5310fde6 (diff) | |
download | ranger-ec338c02cf3b31d2ed1438752c338bd6123f3044.tar.gz |
a simple draft to test python
Diffstat (limited to 'test1.py')
-rw-r--r-- | test1.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test1.py b/test1.py new file mode 100644 index 00000000..715e510d --- /dev/null +++ b/test1.py @@ -0,0 +1,67 @@ +#!/usr/bin/python +# coding=utf-8 +# some tests with curses, threads and unicode +import os +import curses +import time +import threading +import locale + +locale.setlocale(locale.LC_ALL, 'en_US.utf8') + +blocked = False +stringy = 'ใใงใ' +stdscr = curses.initscr() + +curses.noecho() +curses.cbreak() +curses.halfdelay(3) +stdscr.keypad(1) +#curses.curs_set(0) + +stdscr.addstr(4, 0, stringy) +stdscr.refresh() + +class ThreadTest(threading.Thread): + def __init__(self, *a, **b): + threading.Thread.__init__(self, *a, **b) + self.killed = False + + def run(self): + global stdscr + global blocked + for i in range(1,50): + while blocked: time.sleep(0.1) + blocked = True + stdscr.addstr(1, 0, str(i)) + stdscr.refresh() + blocked = False + time.sleep(0.1) + if self.killed: raise SystemExit() + + def kill(self): + self.killed = True + +thr = ThreadTest() +thr.start() + +try: + while 1: + c = stdscr.getch() + if c == ord('q'): raise + while blocked: time.sleep(0.1) + blocked = True + stdscr.addstr(0, 0, str(c)) + stdscr.refresh() + blocked = False + +except Exception: + thr.kill() + raise +finally: + curses.nocbreak() + stdscr.keypad(1) + curses.echo() + curses.endwin() +# curses.curs_set(1) + |