Exemplo n.º 1
0
	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
Exemplo n.º 2
0
	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