#!/usr/bin/python
from __future__ import generators
import feedparser
import os, sys
import datetime
import time
import string
import threading
import select
def chunks(seq, size):
startpos = 0
endpos = size - 1
while endpos < len(seq):
while seq[endpos] != ' ':
endpos -= 1
yield seq[startpos:endpos + 1]
startpos = endpos + 1
endpos += size
yield seq[startpos:]
size=100
announce = 'Good morning...This is your wakeup call'
os.system('rm /mnt/storage/Jarvis/out.wav')
w = feedparser.parse('http://pipes.yahoo.com/pipes/pipe.run?_id=81beeb11da4ba773848c4a81b7198718&_render=rss')
n = feedparser.parse('http://pipes.yahoo.com/pipes/pipe.run?_id=e189632e9213ee8054da152ee9ceab35&_render=rss')
weather = w.entries[0].description + '.' + w.entries[1].description + '.' + w.entries[2].description
c=1
r=0
news = ''
for lines in n.entries:
news += ',.. Headline. ' + n.entries[c].title + '.'
c+=1
if (c > 5):
break
position=0
z=0
y=0
completeannounce = announce + ',..Here is your weather for today...' + weather + '...Here is your latest news,..' + news
chop = [x for x in chunks(completeannounce,size)]
os.system('rm /mnt/storage/Jarvis/stream*.wav')
for segments in chop:
os.system('mplayer -cache 5096 "http://translate.google.com/translate_tts?tl=en&q=%s" -vc null -vo null -ao pcm:fast:waveheader:file=/mnt/storage/Jarvis/stream%s-%s.wav' % (chop[position], str(z), str(y),))
print str(len(chop[position]))
if y > 8:
y = 1
z+=1
else:
y+=1
position+=1
os.system('sox /mnt/storage/Jarvis/*.wav /mnt/storage/Jarvis/out.wav')
os.system('rm /mnt/storage/Jarvis/stream*.wav')
#os.system('mplayer /mnt/storage/Jarvis/out.wav')
print chop