class HiveClientWriter(qtcore.QThread): def __init__(self,parent,socket,master,id): #qtcore.QThread.__init__(self,parent) qtcore.QThread.__init__(self) self.setParent(self) self.socket=socket self.master=master self.id=id self.queue=self.master.clientwriterqueues[id] self.xmlgenerator=SketchLogWriter(self.socket) def run(self): self.xmlgenerator.logCreateDocument(self.master.window.docwidth,self.master.window.docheight) while 1: data=self.queue.get() self.xmlgenerator.logCommand(data)
def startLog(self,filename=None): if not filename: filename=os.path.join('logs',str(datetime.now()) + '.slg') locks=[] self.filename=filename self.logfile=qtcore.QFile(self.filename) self.logfile.open(qtcore.QIODevice.WriteOnly) log=SketchLogWriter(self.logfile) log.logCreateDocument(self.docwidth,self.docheight) # log everything to get upto this point pos=0 for layer in self.layers: locks.append(ReadWriteLocker(layer.imagelock,True)) log.logLayerAdd(pos,layer.key) log.logRawEvent(0,0,layer.key,layer.image) pos+=1 self.log=log