def startLog(self,filename=None,endlog=False): """ start logging the session, starting with a base image of it in it's current state, if no file name is provided use make a name up based on current time """ if not filename: filename=os.path.join('logs',getTimeString() + '.slg') locks=[] self.filename=filename logfile=qtcore.QFile(self.filename) logfile.open(qtcore.QIODevice.WriteOnly) log=SketchLogWriter(logfile) # lock for reading the size of the document sizelocker=qtcore.QReadLocker(self.docsizelock) log.logResyncStart(self.docwidth,self.docheight,0) # log everything to get upto this point pos=0 for layer in self.layers: locks.append(qtcore.QWriteLocker(layer.imagelock)) log.logLayerAdd(pos,layer.key, layer.image) #log.logRawEvent(0,0,layer.key,layer.image) pos+=1 if endlog: self.endLog(log) else: self.log=log
def startLog(self,filename=None,endlog=False): """ start logging the session, starting with a base image of it in it's current state, if no file name is provided use make a name up based on current time """ if not filename: # make sure directory exists if not os.path.isdir('logs'): try: os.mkdir('logs') except: requestDisplayMessage(BeeDisplayMessageTypes.error,"Unable to create log directory","Will not be logging due to inability to to create log file directory: " + os.path.abspath('logs'),self.master) return filename=os.path.join('logs',getTimeString() + '.slg') locks=[] self.filename=filename logfile=qtcore.QFile(self.filename) if not logfile.open(qtcore.QIODevice.WriteOnly): requestDisplayMessage(BeeDisplayMessageTypes.error,"Unable to open log file","Will not be logging due to inability to open file: " + os.path.abspath("%s" % self.filename),self) return log=SketchLogWriter(logfile) # lock for reading the size of the document sizelocker=qtcore.QReadLocker(self.docsizelock) log.logResyncStart(self.docwidth,self.docheight,0) # log everything to get upto this point layerslistlocker = qtcore.QReadLocker(self.layerslistlock) pos=0 for layer in self.layers: locks.append(qtcore.QWriteLocker(layer.imagelock)) log.logLayerAdd(pos,layer.key, layer.image) pos+=1 if endlog: self.endLog(log) else: self.log=log