diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-01-08 23:42:08 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-01-08 23:42:08 +0000 |
commit | 7b3475368a1950d2adc638bdc4d0bbda4b3d1e18 (patch) | |
tree | d1fc1d203654943e09491f7f094bf78cf30801c8 /clients | |
parent | 5565b244c983bfbfd8b88077eda690fd630e3f1f (diff) |
made ivamd a real daemon
git-svn-id: file:///home/lennart/svn/public/ivam2/trunk@20 dbf6933d-3bce-0310-9bcc-ed052ba35b35
Diffstat (limited to 'clients')
-rwxr-xr-x | clients/ivam-autobox | 22 | ||||
-rwxr-xr-x | clients/ivam-voicebox | 11 | ||||
-rw-r--r-- | clients/ivamApi.py | 2 | ||||
-rw-r--r-- | clients/ivamPipeConnector.py | 4 | ||||
-rw-r--r-- | clients/ivamVoiceBox.py | 5 |
5 files changed, 30 insertions, 14 deletions
diff --git a/clients/ivam-autobox b/clients/ivam-autobox index bb7fcfc..8b11f8e 100755 --- a/clients/ivam-autobox +++ b/clients/ivam-autobox @@ -4,14 +4,15 @@ import sys, os, getopt from ivamCore import log import ivamCore, ivamVoiceBox +from optparse import OptionParser def usage(): - log("%s [--record-time=SECS] [--pin=PIN] [--pin-file=PINFILE] [--debug] [DIRECTORY]" % sys.argv[0]) + log("%s [--record-time=SECS] [--pin=PIN] [--pin-file=PINFILE] [--default-record-time=SECS] [--default-pin=PIN] [--default-pin-file=PINFILE] [--debug] [DIRECTORY]" % sys.argv[0]) def parseArgs(vb, argv): try: - opts, args = getopt.getopt(argv[1:], "ht:p:P:de:", ["help", "record-time=", "pin=", "pin-file=", "debug", "message-program"]) + opts, args = getopt.getopt(argv[1:], "dh", ["help", "record-time=", "pin=", "pin-file=", "default-record-time=", "default-pin=", "default-pin-file=", "debug"]) except getopt.GetoptError: usage() sys.exit(1) @@ -27,13 +28,13 @@ def parseArgs(vb, argv): usage() sys.exit() - elif o in ("-t", "--record-time"): + elif o in ("--default-record-time"): recordTime = int(a) - elif o in ("-p", "--pin"): + elif o in ("--default-pin"): pin = a - elif o in ("-P", "--pin-file"): + elif o in ("--default-pin-file"): pin = getContents(a) dname = "msn-" + os.getenv("RINGMSN") @@ -48,6 +49,17 @@ def parseArgs(vb, argv): vb.setDirectory(dname) + for o, a in opts: + if o in ("--record-time"): + vb.recordTime = int(a) + + elif o in ("--pin"): + vb.setPin(a) + + elif o in ("--pin-file"): + vb.setPin(getContents(a)) + + def main(): vb = ivamVoiceBox.VoiceBox() parseArgs(vb, sys.argv) diff --git a/clients/ivam-voicebox b/clients/ivam-voicebox index fbf6afa..1ec19d5 100755 --- a/clients/ivam-voicebox +++ b/clients/ivam-voicebox @@ -11,7 +11,7 @@ def usage(): def parseArgs(vb, argv): try: - opts, args = getopt.getopt(argv[1:], "ht:p:P:de:", ["help", "record-time=", "pin=", "pin-file=", "debug", "message-program"]) + opts, args = getopt.getopt(argv[1:], "hd", ["help", "record-time=", "pin=", "pin-file=", "debug", "message-program="]) except getopt.GetoptError: usage() sys.exit(1) @@ -32,19 +32,18 @@ def parseArgs(vb, argv): usage() sys.exit() - elif o in ("-t", "--record-time"): + elif o in ("--record-time"): vb.recordTime = int(a) - elif o in ("-p", "--pin"): + elif o in ("--pin"): vb.setPin(a) - elif o in ("-P", "--pin-file"): + elif o in ("--pin-file"): vb.setPin(getContents(a)) - elif o in ("-e", "--message-program"): + elif o in ("--message-program"): vb.messageProgram = a - def main(): vb = ivamVoiceBox.VoiceBox() parseArgs(vb, sys.argv) diff --git a/clients/ivamApi.py b/clients/ivamApi.py index 8cab6f9..97534ff 100644 --- a/clients/ivamApi.py +++ b/clients/ivamApi.py @@ -10,7 +10,7 @@ class Processor: def onDtmfEvent(self, c, event): pass - def onClipFinish(self, c, fname): + def onClipFinish(self, c, fname, length): pass def onTimeout(self, c): diff --git a/clients/ivamPipeConnector.py b/clients/ivamPipeConnector.py index af302b8..bbaf9ed 100644 --- a/clients/ivamPipeConnector.py +++ b/clients/ivamPipeConnector.py @@ -92,6 +92,7 @@ class PipeConnector(ivamApi.Connector): self.recordName = fname self.recording = True + self.recordLength = 0 def stopRecording(self): @@ -102,7 +103,7 @@ class PipeConnector(ivamApi.Connector): self.recordFile.close() self.recording = False - self.processor.onRecordFinish(self, self.recordName) + self.processor.onRecordFinish(self, self.recordName, self.recordLength) def setTimeout(self, t): @@ -198,6 +199,7 @@ class PipeConnector(ivamApi.Connector): self.quit = 1 elif self.recording: self.recordFile.write(buf) + self.recordLength += len(buf) def writeStdout(self): diff --git a/clients/ivamVoiceBox.py b/clients/ivamVoiceBox.py index 252ce98..9dc84f9 100644 --- a/clients/ivamVoiceBox.py +++ b/clients/ivamVoiceBox.py @@ -216,7 +216,7 @@ class VoiceBox(ivamApi.Processor): self.currentState = self.STATE_FINISH c.hangup() - def onRecordFinish(self, c, fname): + def onRecordFinish(self, c, fname, length): if ivamCore.DEBUG: ivamCore.log("onRecordFinish(%s)" % fname) @@ -224,6 +224,9 @@ class VoiceBox(ivamApi.Processor): ivamCore.log("Sucessfully recorded new message '%s' from %s for MSN %s." % (fname, self.callerNumber, self.ringNumber)) os.environ["SPOOLDIR"] = self.directory + os.environ["LENGTH"] = `c.recordLength` + os.environ["SEC_LENGTH"] = "%0.1f" % (c.recordLength/8000.0) + ivamCore.log("Starting new message notification program.") r=os.spawnvp(os.P_WAIT, self.messageProgram, (self.messageProgram, fname)) ivamCore.log("Program finished (return value is %i)." % r) |