diff -r b4bd49f01837 -r 111350ddb81d utils/annotsroll-client.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils/annotsroll-client.py Fri Jan 16 13:33:18 2015 +0100 @@ -0,0 +1,75 @@ +############################################################################### +# # +# # Copyright (C) 2011-2014 Tavendo GmbH +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +# # +############################################################################### + +import sys +import csv +import time + +from twisted.python import log +from twisted.internet import reactor +import argparse + + +from autobahn.twisted.websocket import WebSocketClientProtocol, WebSocketClientFactory + +class MyClientProtocol(WebSocketClientProtocol): + + #def __init__(self, rows): + + def onConnect(self, response): + print("Server connected: {0}".format(response.peer)) + reactor.callLater(0, self.send_messages) + + def onOpen(self): + print("WebSocket connection open.") + + def send_messages(self): + with open("annotsroll_sample_formated.txt", 'rU') as datafile: + for row in list(datafile): + self.sendMessage(row, isBinary = False) + time.sleep(0.1) + + #time.sleep(0.1) + #self.sendMessage('{"user":"Julien"}'.encode('utf8')) + print("Goodbye") + self.factory.reactor.callLater(0.1, reactor.stop) + + def onClose(self, wasClean, code, reason): + print("WebSocket connection closed: {0}".format(reason)) + + + +if __name__ == '__main__': + + log.startLogging(sys.stdout) + + parser = argparse.ArgumentParser(description='Simulate an (osc) pianoroll client.') + #parser.add_argument('datafile', metavar='DATAFILE', help='The file containing the pianoroll data (CSV).') + parser.add_argument('-e', '--event', dest='event', metavar='EVENT', required=True, help='the event code.') + + args = parser.parse_args() + + #with open(args.datafile, 'rU') as datafile: + # reader = csv.reader(datafile, delimiter=' ') + + factory = WebSocketClientFactory("ws://127.0.0.1:8090/annot?event=%s" % args.event, debug=True) + factory.protocol = MyClientProtocol + + reactor.connectTCP("127.0.0.1", 8090, factory) + reactor.run() + \ No newline at end of file