From 729455edf7fe92ba46ba2ea274bc3b5f4879b71b Mon Sep 17 00:00:00 2001 From: Aineopintojen-harjoitustyo-Algoritmit-j Date: Sat, 3 Feb 2024 15:05:55 +0200 Subject: Adding tests to whole app. --- tui/kbd.py | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'tui/kbd.py') diff --git a/tui/kbd.py b/tui/kbd.py index 81840ae..a31e56f 100644 --- a/tui/kbd.py +++ b/tui/kbd.py @@ -1,6 +1,6 @@ """ tui/kbd.py - näppäimistön käsittellijä """ # pylint: disable = multiple-imports -import termios, fcntl, sys, os +import termios, fcntl, sys, os, io from time import sleep from .static import ActionKeys, Action @@ -21,21 +21,29 @@ class Kbd(): # Vaatii hieman terminaaliasetusten muokkaamista jotta yksittäiset # napin painallukset voidaan lukea # https://stackoverflow.com/questions/983354/how-do-i-wait-for-a-pressed-key - fd = sys.stdin.fileno() - self.oldterm = termios.tcgetattr(fd) + try: + fd = sys.stdin.fileno() + self.oldterm = termios.tcgetattr(fd) - newattr = termios.tcgetattr(fd) - newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO - termios.tcsetattr(fd, termios.TCSANOW, newattr) + newattr = termios.tcgetattr(fd) + newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO + termios.tcsetattr(fd, termios.TCSANOW, newattr) - self.oldflags = fcntl.fcntl(fd, fcntl.F_GETFL) - fcntl.fcntl(fd, fcntl.F_SETFL, self.oldflags | os.O_NONBLOCK) + self.oldflags = fcntl.fcntl(fd, fcntl.F_GETFL) + fcntl.fcntl(fd, fcntl.F_SETFL, self.oldflags | os.O_NONBLOCK) + # Testeissä ei voi mukata termilaalia + except io.UnsupportedOperation: + pass def __del__(self): # palautetaan terminaali takaisin alkupetäiseen uskoon - fd = sys.stdin.fileno() - termios.tcsetattr(fd, termios.TCSAFLUSH, self.oldterm) - fcntl.fcntl(fd, fcntl.F_SETFL, self.oldflags) + try: + fd = sys.stdin.fileno() + termios.tcsetattr(fd, termios.TCSAFLUSH, self.oldterm) + fcntl.fcntl(fd, fcntl.F_SETFL, self.oldflags) + # Testeissä ei voi mukata termilaalia + except io.UnsupportedOperation: + pass def read_action(self): """ lukee näppäimistölä käyttäjän toiminnon """ -- cgit v1.2.3