• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python websocketd.log函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: add_port

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


示例17: call

	def call(self, name, args, kargs, cb): # {{{
		data = json.dumps([self.next_mid, name, args, kargs]) + '\n'
		#log('calling %s on %d' % (repr(data), self.process.stdin.fileno()))
		try:
			self.process.stdin.write(data)
		except:
			log('killing printer handle because of IOError')
			#traceback.print_exc()
			cb(False, None)
			Connection._disable('admin', self.port)
			return
		self.waiters[0][self.next_mid] = cb
		self.next_mid += 1
开发者ID:plastbotindustries,项目名称:franklin,代码行数:13,代码来源:server.py


示例18: add_port

	def add_port(cls, port): # {{{
		resumeinfo = [(yield), None]
		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:
			c = websocketd.call(resumeinfo, cls.detect, port)
			while c(): c.args = (yield websocketd.WAIT)
开发者ID:plastbotindustries,项目名称:franklin,代码行数:13,代码来源:server.py


示例19: get_settings

		def get_settings(success, settings):
			if not success:
				log('failed to get settings')
				return
			self.call('import_settings', ['admin', settings], {}, lambda success, ret: None)
			GLib.source_remove(orphans[self.run_id].input_handle)
			orphans[self.run_id].call('die', ('admin', 'replaced by new connection',), {}, lambda success, ret: None)
			try:
				orphans[self.run_id].process.kill()
				orphans[self.run_id].process.communicate()
			except OSError:
				pass
			del orphans[self.run_id]
开发者ID:plastbotindustries,项目名称:franklin,代码行数:13,代码来源:server.py


示例20: get_vars

		def get_vars(success, vars, cb = None):
			if not success:
				log('failed to get vars')
				return
			if self.uuid is None:
				log('new uuid:' + repr(vars['uuid']))
				self.uuid = vars['uuid']
			else:
				assert self.uuid == vars['uuid']
			self.detecting = False
			self.call('send_machine', ['admin', None], {}, lambda success, data: broadcast(None, 'port_state', port, 2))
			if cb is not None:
				cb()
开发者ID:mtu-most,项目名称:franklin,代码行数:13,代码来源:server.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python websockets.connect函数代码示例发布时间:2022-05-26
下一篇:
Python websocket_server.WebsocketServer类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap