当前位置: 首页>>代码示例>>Python>>正文


Python websocketd.log函数代码示例

本文整理汇总了Python中websocketd.log函数的典型用法代码示例。如果您正苦于以下问题:Python log函数的具体用法?Python log怎么用?Python log使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了log函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: post

	def post(self, connection):
		# Add to queue (POST).
		if 'file' not in connection.post[1] or 'port' not in connection.post[0] or 'action' not in connection.post[0]:
			self.reply(connection, 400)
			return False
		port = connection.post[0]['port'][0]
		action = connection.post[0]['action'][0]
		if port not in ports or not ports[port]:
			log('port not found: %s' % port)
			self.reply(connection, 404)
			return False
		post = connection.post[1].pop('file')
		def cb(success, ret):
			self.reply(connection, 200 if success else 400, '' if ret is None else ret.encode('utf8'), 'text/plain;charset=utf8')
			os.unlink(post[0]);
			connection.socket.close()
		if action == 'queue_add':
			ports[port].call('queue_add_file', [connection.data['role'], post[0], post[1]], {}, cb)
		elif action == 'audio_add':
			ports[port].call('audio_add_file', [connection.data['role'], post[0], post[1]], {}, cb)
		elif action == 'import':
			ports[port].call('import_file', [connection.data['role'], post[0], post[1]], {}, cb)
		else:
			os.unlink(post[0]);
			self.reply(connection, 400)
			return False
		return True
开发者ID:plastbotindustries,项目名称:franklin,代码行数:27,代码来源:server.py

示例2: _call

	def _call(self, name, a, ka): # {{{
		wake = (yield)
		#log('other: %s %s %s' % (name, repr(a), repr(ka)))
		if 'machine' in ka:
			machine = ka.pop('machine')
		else:
			machine = None
		if machine not in machines:
			if len(machines) == 1:
				machine = tuple(machines.keys())[0]
			else:
				options = [m for m in machines if machines[m].port is not None]
				if len(options) == 1:
					machine = options[0]
				else:
					log('No active machine')
					return ('error', 'No active machine')
		if name.endswith('_POST'):
			log('refusing to call function only meant for POST')
			return ('error', 'Invalid function name')
		def reply(success, ret):
			if success:
				wake(ret)
			else:
				log('machine errors')
				wake(('error', ret))
				#disable(machine, 'machine replied with error to wake up')
		machines[machine].call(name, (self.socket.data['role'],) + tuple(a), ka, reply)
		return (yield)
开发者ID:mtu-most,项目名称:franklin,代码行数:29,代码来源:server.py

示例3: process_done

		def process_done():
			data = p.stdout.read()
			if data:
				log('Data from completion callback: %s' % repr(data))
				return True
			log('Callback for job completion done; return: %s' % repr(p.wait()))
			return False
开发者ID:mtu-most,项目名称:franklin,代码行数:7,代码来源:server.py

示例4: boot_machine_error

		def boot_machine_error():
			log('error during machine detection on port %s.' % port)
			websocketd.remove_timeout(timeout_handle[0])
			machine.close()
			ports[port] = None
			broadcast(None, 'port_state', port, 0)
			return False
开发者ID:mtu-most,项目名称:franklin,代码行数:7,代码来源:server.py

示例5: disable

def disable(role, port): # {{{
	if port not in ports:
		log('not disabling nonexistent port %s' % port)
		return
	p = ports[port]
	if p is None:
		log('not disabling inactive port %s' % port)
		return
	if not isinstance(p, Port):
		# Detecting or similar; cancel operation.
		p()
		return
	if p.detecting:
		p.die()
		return
	# Forget the printer.  First tell the printer to die
	p.die()
	ports[port] = None
	if p:
		def done(success, ret):
			websocketd.remove_read(p.input_handle)
			try:
				p.process.kill()
			except OSError:
				pass
			try:
				p.process.communicate()
			except:
				pass
			p.process = None
		p.call('die', (role, 'disabled by user',), {}, done)
	if p not in (None, False):
		broadcast(None, 'del_printer', port)
	broadcast(None, 'port_state', port, 0)
开发者ID:yanggen,项目名称:franklin,代码行数:34,代码来源:server.py

示例6: upload

	def upload(self, port, board): # {{{
		wake = (yield)
		assert self.socket.data['role'] in ('benjamin', 'admin')
		assert port in ports
		if ports[port]:
			disable(ports[port], 'disabled for upload')
		def cancel():
			# Waking the generator kills the process.
			wake('Aborted')
		ports[port] = cancel
		command = self._get_command(board, port)
		data = ['']
		log('Flashing firmware: ' + ' '.join(command))
		broadcast(None, 'port_state', port, 3)
		process = subprocess.Popen(command, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, close_fds = True)
		def output():
			d = ''
			try:
				d = process.stdout.read().decode('utf-8')
			except:
				data[0] += '\nError writing %s firmware: ' % board + traceback.format_exc()
				log(repr(data[0]))
				wake(data[0])
				return False
			if d != '':
				#broadcast(None, 'message', port, '\n'.join(data[0].split('\n')[-4:]))
				data[0] += d
				return True
			wake(data[0])
			return False
		def error():
			data[0] += '\nError writing %s firmware: ' % board
			log(repr(data[0]))
			wake(data[0])
			return False
		fl = fcntl.fcntl(process.stdout.fileno(), fcntl.F_GETFL)
		fcntl.fcntl(process.stdout.fileno(), fcntl.F_SETFL, fl | os.O_NONBLOCK)
		websocketd.add_read(process.stdout, output, error)
		broadcast(None, 'uploading', port, 'uploading firmware for %s' % board)
		#broadcast(None, 'message', port, '')
		d = (yield)
		try:
			process.kill()	# In case it wasn't dead yet.
		except:
			pass
		try:
			process.communicate()	# Clean up.
		except:
			pass
		broadcast(None, 'uploading', port, None)
		#broadcast(None, 'message', port, '')
		broadcast(None, 'port_state', port, 0)
		ports[port] = None
		if autodetect:
			websocketd.call(None, detect, port)
		if d:
			return 'firmware upload for %s: ' % board + d
		else:
			return 'firmware for %s successfully uploaded' % board
开发者ID:mtu-most,项目名称:franklin,代码行数:59,代码来源:server.py

示例7: remove_port

def remove_port(port): # {{{
	log('removing port %s' % port)
	if port not in ports:
		return
	if ports[port]:
		ports[port].make_orphan()
	del ports[port]
	broadcast(None, 'del_port', port)
开发者ID:yanggen,项目名称:franklin,代码行数:8,代码来源:server.py

示例8: remove_port

def remove_port(port): # {{{
	log('removing port %s' % port)
	if port not in ports:
		return
	if ports[port]:
		disable(ports[port], 'port is removed')
	del ports[port]
	broadcast(None, 'del_port', port)
开发者ID:mtu-most,项目名称:franklin,代码行数:8,代码来源:server.py

示例9: remove_port

	def remove_port(cls, port): # {{{
		log('removing port %s' % port)
		if port not in ports:
			return
		if ports[port]:
			# Close serial port, in case it still exists.
			cls._disable('admin', port)
		del ports[port]
		cls._broadcast(None, 'del_port', port)
开发者ID:plastbotindustries,项目名称:franklin,代码行数:9,代码来源:server.py

示例10: detect

	def detect(cls, port): # {{{
		resumeinfo = [(yield), None]
		log('detecting printer on %s' % port)
		if port not in ports or ports[port] != None:
			log('port is not in detectable state')
			return
		ports[port] = False
		c = websocketd.call(resumeinfo, detect, port)
		while c(): c.args = (yield websocketd.WAIT)
开发者ID:plastbotindustries,项目名称:franklin,代码行数:9,代码来源:server.py

示例11: die

	def die(self, reason = 'at request'): # {{{
		log('{} died {}.'.format(self.name, reason))
		self.process.kill()
		try:
			self.process.communicate()
		except:
			pass
		for t in range(3):
			for w in self.waiters[t]:
				self.waiters[t][w](False, 'Printer {} died {}'.format(self.name, reason))
开发者ID:yanggen,项目名称:franklin,代码行数:10,代码来源:server.py

示例12: make_orphan

	def make_orphan(self): # {{{
		if ports[self.port]:
			self.call('disconnect', ['admin'], {}, lambda cd, arg: None)
		# If there already is an orphan with the same uuid, kill the old orphan.
		for o in [x for x in orphans if orphans[x].uuid == self.uuid]:
			# This for loop always runs 0 or 1 times, never more.
			log('killing duplicate orphan')
			orphans[o].call('die', ('admin', 'replaced by connection with same uuid',), {}, lambda success, ret: None)
			del orphans[o]
		orphans[self.run_id] = self
		broadcast(None, 'del_printer', self.port)
开发者ID:yanggen,项目名称:franklin,代码行数:11,代码来源:server.py

示例13: get_vars

		def get_vars(success, vars):
			if not success:
				log('failed to get vars')
				return
			# The child has opened the port now; close our handle.
			if detectport is not None:
				log('Driver started; closing server port')
				detectport.close()
			self.uuid = vars['uuid']
			# Copy settings from orphan with the same run_id, then kill the orphan.
			if self.run_id in orphans and orphans[self.run_id].uuid == self.uuid:
				orphans[self.run_id].call('export_settings', ('admin',), {}, get_settings)
开发者ID:plastbotindustries,项目名称:franklin,代码行数:12,代码来源:server.py

示例14: add_port

	def add_port(cls, port): # {{{
		wake = (yield)
		if port in ports:
			log('already existing port %s cannot be added' % port)
			return
		if re.match(config['blacklist'], port) or re.match(config['add-blacklist'], port):
			#log('skipping blacklisted port %s' % port)
			return
		ports[port] = None
		cls._broadcast(None, 'new_port', port);
		if autodetect:
			return (yield from cls._generator_call(wake, cls.detect, port))
开发者ID:ddparker,项目名称:franklin,代码行数:12,代码来源:server.py

示例15: add_port

def add_port(port): # {{{
	if port in ports:
		log('already existing port %s cannot be added' % port)
		return
	if re.match(config['blacklist'], port) or re.match(config['add-blacklist'], port):
		#log('skipping blacklisted port %s' % port)
		return
	ports[port] = None
	broadcast(None, 'new_port', port)
	broadcast(None, 'port_state', port, 0)
	if autodetect:
		detect(port, 'admin')
开发者ID:yanggen,项目名称:franklin,代码行数:12,代码来源:server.py


注:本文中的websocketd.log函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。