You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.8 KiB
Python
69 lines
1.8 KiB
Python
from __future__ import print_function
|
|
import csv, os, sys
|
|
from datetime import datetime
|
|
from time import sleep
|
|
import OSC
|
|
|
|
|
|
# open a connection to pd
|
|
client = OSC.OSCClient()
|
|
address = '127.0.0.1', 4000 # 57120==SC
|
|
client.connect( address ) # set the address for all following messages
|
|
print ("1.client stderr", file=sys.stderr)
|
|
|
|
|
|
msg = OSC.OSCMessage() # OSCresponder name: '/touch'
|
|
msg.setAddress("/twitter-ikstem")
|
|
#msg.append('hello from python')
|
|
#client.send(msg)
|
|
|
|
os.system('xzcat /media/floppy/twittersonification.csv.xz > /tmp/twittersonification.csv') #floppydisk
|
|
#os.system('xzcat twittersonification.csv.xz > /tmp/twittersonification.csv') #lokaal
|
|
|
|
|
|
|
|
then = None
|
|
with open('/tmp/twittersonification.csv', 'rU') as csvfile:
|
|
file = csv.DictReader(csvfile)
|
|
print ("2.opening file stderr", file=sys.stderr)
|
|
|
|
#csv.DictReader(csvfile)(["time"] + ['time'])
|
|
i=0
|
|
sleep_time=1
|
|
for row in file:
|
|
print ("3.row stderr", file=sys.stderr)
|
|
|
|
i+=1
|
|
t = row['time']
|
|
print ("4.time stderr", file=sys.stderr)
|
|
t = float(t)
|
|
now = datetime.fromtimestamp(t) #[]dictreader reads the rowheader
|
|
#print now, row
|
|
if then:
|
|
ti = (now-then).total_seconds()
|
|
#print ti/100
|
|
sleep_time = ti/40
|
|
print ("5.msg stderr", file=sys.stderr)
|
|
|
|
|
|
#msg.append( row['text'].lower() )
|
|
#client.send(msg)
|
|
#msg.clearData()
|
|
|
|
if "#ikstem" in row['text'].lower() and '#gestemd' in row['text'].lower():
|
|
msg.append( ['both', str(now)] )
|
|
elif '#ikstem' in row['text'].lower():
|
|
msg.append( ['#ikstem', str(now) ])
|
|
elif '#gestemd' in row['text'].lower():
|
|
msg.append( ['#gestemd', str(now)] )
|
|
|
|
# msg.append( [ str(row['text']) ] )
|
|
|
|
# send an osc message to pd
|
|
#print msg#[ i, row['text'], str(now)]
|
|
sleep(sleep_time)
|
|
client.send(msg)
|
|
msg.clearData()
|
|
then = now
|
|
print ("6.last print stderr", file=sys.stderr)
|