jasonscheirer / Stumbler

My crappy warbiking software

Clone this repository (size: 11.5 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/jasonscheirer/stumbler/

Changed (Δ66 bytes):

raw changeset »

curses_ui.py (7 lines added, 5 lines removed)

Up to file-list curses_ui.py:

1
1
import curses
2
2
import datetime
3
import signal
3
4
from bikesniff import gpsfix, networks
4
5
5
6
class CursesUI(object):
@@ -13,22 +14,23 @@ class CursesUI(object):
13
14
        curses.cbreak()
14
15
        self.stdscr.keypad(1)
15
16
        self.stdscr.nodelay(1)
16
    def shutdown(self):
17
        signal.signal(signal.SIGINT, self.shutdown)
18
    def shutdown(self, sig=None, frame=None):
17
19
        curses.nocbreak()
18
20
        self.stdscr.keypad(0)
19
21
        curses.echo()
20
22
        curses.endwin()
23
        self.reactor.stop()
21
24
    def update(self):
22
25
        try:
23
            self.stdscr.addstr(0, 0, str(datetime.datetime.now()), curses.A_BOLD)
24
            curses.setsyx(self.stdscr.height, self.stdscr.width)
26
            self.stdscr.addstr(1, 1, str(datetime.datetime.now()), curses.A_BOLD)
27
            self.stdscr.border()
25
28
            self.stdscr.refresh()
26
29
        except:
27
30
            pass
28
31
        finally:
29
            if self.stdscr.getch() in (27, ord('q'), ord('Q')):
32
            if self.stdscr.getch() in (27, ord('q'), ord('Q'), curses.KEY_BREAK):
30
33
                self.shutdown()
31
                self.reactor.stop()
32
34
            else:
33
35
                self.reactor.callLater(0.5, self.update)
34
36