From 1aa97dbcf6fa6163c5900c0af2a5b77d626ff3e0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Sep 2024 14:12:44 +0530 Subject: [PATCH] Get piper develop to work on windows --- src/calibre/gui2/tts/piper.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/tts/piper.py b/src/calibre/gui2/tts/piper.py index 21f5f12c3d..c5591eb447 100644 --- a/src/calibre/gui2/tts/piper.py +++ b/src/calibre/gui2/tts/piper.py @@ -468,10 +468,10 @@ class Piper(TTSBackend): def develop(): # {{{ - import tty from qt.core import QSocketNotifier + from calibre.constants import iswindows from calibre.gui2 import Application app = Application([]) p = Piper() @@ -517,16 +517,19 @@ def develop(): # {{{ p.state_changed.connect(state_changed) p.saying.connect(saying) - attr = tty.setraw(sys.stdin.fileno()) - os.set_blocking(sys.stdin.fileno(), False) + if not iswindows: + import tty + attr = tty.setraw(sys.stdin.fileno()) + os.set_blocking(sys.stdin.fileno(), False) sn = QSocketNotifier(sys.stdin.fileno(), QSocketNotifier.Type.Read, p) sn.activated.connect(input_ready) try: p.say(text) app.exec() finally: - import termios - termios.tcsetattr(sys.stdout.fileno(), termios.TCSANOW, attr) + if not iswindows: + import termios + termios.tcsetattr(sys.stdout.fileno(), termios.TCSANOW, attr) if __name__ == '__main__':