--- a/scannr.py +++ b/scannr.py @@ -1,6 +1,7 @@ import logging + logging.basicConfig(level=logging.DEBUG, - format='%(asctime)s\t%(levelname)s\t%(message)s') + format='%(asctime)s\t%(levelname)s\t%(message)s') import snd import time @@ -50,7 +51,7 @@ cur = conn.cursor() cur.execute("INSERT INTO recordings \ (tgid, tgname, sitename, filename, length)\ - VALUES (%s, %s, %s, %s, %s)",( tgid, tgname, sitename, filename, length)) + VALUES (%s, %s, %s, %s, %s)", ( tgid, tgname, sitename, filename, length)) conn.commit() cur.close() @@ -73,16 +74,16 @@ (oldtgid, oldtgname, oldsitename) = last_call (tgid, tgname, sitename) = get_call() if oldtgid == tgid: - if tgid == None or tgid == '': + if tgid is None or tgid == '': print filename + " has no TGID" else: log_recording(tgid, tgname, sitename, filename, length) else: - if tgid == None or tgid == '': + if tgid is None or tgid == '': print filename + " has no TGID" else: log_recording(tgid, tgname, sitename, filename, length) - if oldtgid == None or oldtgid == '': + if oldtgid is None or oldtgid == '': print filename + " has no old TGID" else: log_recording(oldtgid, oldtgname, oldsitename, filename, length) @@ -91,23 +92,25 @@ def filenameMaker(): global filename - filename = date.today().isoformat()+'-'+str(time.time())+'-demo.wav' + filename = date.today().isoformat() + '-' + str(time.time()) + '-demo.wav' + def do_record(): + #global filename sample_width, data = snd.record() - thr = threading.Thread(target=record_to_async_file, args=(sample_width,data,filename)) + thr = threading.Thread(target=record_to_async_file, args=(sample_width, data, filename)) thr.start() -def record_to_async_file(sample_width,data,filename): +def record_to_async_file(sample_width, data, filename): "Records from the microphone and outputs the resulting data to `filename`" print "Recording complete" if len(data) > MIN_LENGTH: print "Recording being saved..." - dispatcher.send( signal='FILE_CREATED', sender=filename, filename=filename, length=len(data)) + dispatcher.send(signal='FILE_CREATED', sender=filename, filename=filename, length=len(data)) print str(len(data)) - data = snd.pack('<' + ('h'*len(data)), *data) - path = "./data/"+filename + data = snd.pack('<' + ('h' * len(data)), *data) + path = "./data/" + filename wf = wave.open(path, 'wb') wf.setnchannels(2) wf.setsampwidth(sample_width) @@ -115,20 +118,20 @@ wf.writeframes(data) wf.close() del wf - print("done - result "+str(len(data))+" frames written to "+path) + print("done - result " + str(len(data)) + " frames written to " + path) del data -dispatcher.connect( filenameMaker, signal='SND_STARTED', sender=dispatcher.Any ) -dispatcher.connect( tgid_worker, signal='SND_STARTED', sender=dispatcher.Any ) -dispatcher.connect( save_worker, signal='FILE_CREATED', sender=dispatcher.Any ) +dispatcher.connect(filenameMaker, signal='SND_STARTED', sender=dispatcher.Any) +dispatcher.connect(tgid_worker, signal='SND_STARTED', sender=dispatcher.Any) +dispatcher.connect(save_worker, signal='FILE_CREATED', sender=dispatcher.Any) print "Opening serial port..." if sys.platform.startswith('darwin'): - ser = serial.Serial('/dev/tty.usbserial-FTB3VL83', 112500, timeout=1) + ser = serial.Serial('/dev/tty.usbserial-FTB3VL83', 112500, timeout=1) elif sys.platform.startswith('win32'): - ser = serial.Serial('COM20', 112500, timeout=1) + ser = serial.Serial('COM20', 112500, timeout=1) print "Loading notifymyandroid..." -nma = pynma.PyNMA( "a6f50f76119eda33befe4325b4b9e1dd25eef7bad2868e4f") +nma = pynma.PyNMA("a6f50f76119eda33befe4325b4b9e1dd25eef7bad2868e4f") print "Connecting database..." conn = psycopg2.connect("dbname=scannr user=postgres password=snmc") print "Scannr started."