def process_data(self, data): bs = BinaryStream(data) msgtype = bs.read_byte() if msgtype == MESSAGE: print "MESSAGE" msg = bs.read_string() self.broadcast(self.get_datas_message(msg)) elif msgtype == PLAYPAUSE: print "PLAYPAUSE" self.broadcast(self.get_datas_playpause(), self) elif msgtype == MOVIE_TIME: print "MOVIE_TIME" t = bs.read_int32() # broadcast for client in self.clients: if client is self: continue new_t = self.ping / 2 + client.ping / 2 + t print "new_t", new_t client.sendLine(self.get_datas_slider_update(new_t)) elif msgtype == PING: self.pings.append(time.time() - self.ping_check_time) if len(self.pings) > 50: del self.pings[0]
def getStreamFromBytes(self, name, bytes): if name == "\x05SummaryInformation": return SummaryInformationStream(bytes, self.params, doc=self) elif name == "\x05DocumentSummaryInformation": return DocumentSummaryInformationStream(bytes, self.params, doc=self) else: return BinaryStream(bytes, self.params, name, doc=self)
def process_data(self, data, client=None): bs = BinaryStream(data) msgtype = bs.read_byte() if msgtype == MESSAGE: msg = bs.read_string() self.player.update_chat(msg) elif msgtype == PLAYPAUSE: self.player.play_pause() elif msgtype == MOVIE_TIME: t = bs.read_int32() print "movietime", t self.player.change_pos_from_net(t) # t already smoothed elif msgtype == PING: self.sendLine(self.get_datas_ping())
def getStreamFromBytes(self, name, bytes): if name == "WordDocument": return WordDocumentStream(bytes, self.params, doc=self) elif name in ("0Table", "1Table"): return TableStream(bytes, self.params, name, doc=self) elif name == "\x05SummaryInformation": return SummaryInformationStream(bytes, self.params, doc=self) elif name == "\x05DocumentSummaryInformation": return DocumentSummaryInformationStream(bytes, self.params, doc=self) else: return BinaryStream(bytes, self.params, name, doc=self)
def setUp(self): self.object = BinaryStream(BytesIO())
def __init__(self, parent): BinaryStream.__init__(self, parent.bytes) self.parent = parent self.pos = parent.pos
def __init__(self, parent, PropertyIds): BinaryStream.__init__(self, parent.bytes) self.parent = parent self.propertyIds = PropertyIds
def __init__(self, bytes, params, doc): BinaryStream.__init__(self, bytes, params, "\x05SummaryInformation", doc=doc)
def __init__(self, parent, name): BinaryStream.__init__(self, parent.bytes) self.pos = parent.pos self.parent = parent self.name = name
def __init__(self, parent, index): BinaryStream.__init__(self, parent.bytes) self.parent = parent self.index = index self.pos = parent.posOrig + parent.idsAndOffsets[index].Offset
def __init__(self, parent, index): BinaryStream.__init__(self, parent.bytes) self.parent = parent self.pos = parent.pos self.index = index
def __init__(self, parent, offset, userDefined=False): BinaryStream.__init__(self, parent.bytes) self.parent = parent self.pos = offset self.userDefined = userDefined
def __init__(self, bytes): BinaryStream.__init__(self, bytes)
def __init__(self, bytes, params, doc): BinaryStream.__init__(self, bytes, params, "WordDocument", doc=doc)
def __init__(self, bytes, params, name, doc): BinaryStream.__init__(self, bytes, params, name, doc=doc)
def __init__(self, parent, name, codepage): BinaryStream.__init__(self, parent.bytes) self.pos = parent.pos self.parent = parent self.name = name self.codepage = codepage