From 9f14b1b80e6b09e6b2dc067704fff2034dc0ad23 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 8 Jan 2004 21:21:42 +0000 Subject: Assorted work git-svn-id: file:///home/lennart/svn/public/ivam2/trunk@18 dbf6933d-3bce-0310-9bcc-ed052ba35b35 --- client/ivamApi.py | 3 +++ client/ivamPipeConnector.py | 22 ++++++++++++++++++++++ client/ivamVoiceBox.py | 1 + 3 files changed, 26 insertions(+) (limited to 'client') diff --git a/client/ivamApi.py b/client/ivamApi.py index 1413116..8cab6f9 100644 --- a/client/ivamApi.py +++ b/client/ivamApi.py @@ -44,3 +44,6 @@ class Connector: def hangup(self, t): pass + + def flushOutput(self): + pass diff --git a/client/ivamPipeConnector.py b/client/ivamPipeConnector.py index 70fd93d..af302b8 100644 --- a/client/ivamPipeConnector.py +++ b/client/ivamPipeConnector.py @@ -34,6 +34,14 @@ class PipeConnector(ivamApi.Connector): self.ringNumber = os.getenv("RINGMSN") self.processor = processor + try: + s = os.fstat(128) + self.pipeHack = True + ivamCore.log("Found and enabled pipe hack.") + except OSError: + self.pipeHack = False + ivamCore.log("Pipe hack not detected.") + def openDtmf(self): try: @@ -223,3 +231,17 @@ class PipeConnector(ivamApi.Connector): self.dtmfFifo = None else: self.processor.onDtmfEvent(self, d) + + def flushOutput(self): + + if not self.pipeHack: + return + + try: + b = os.read(128, 4096) + if ivamCore.DEBUG: + ivamCore.log("Pipe hack succeeded") + except OSError: + + if ivamCore.DEBUG: + ivamCore.log("Pipe hack failed") diff --git a/client/ivamVoiceBox.py b/client/ivamVoiceBox.py index 131e5c5..252ce98 100644 --- a/client/ivamVoiceBox.py +++ b/client/ivamVoiceBox.py @@ -199,6 +199,7 @@ class VoiceBox(ivamApi.Processor): c.playClip(self.getClip("beep")) else: + c.flushOutput() c.stopPlayback2() def onTimeout(self, c): -- cgit