Пример #1
0
	def __init__(self, port, loglevel, *controls):
		global	LOGLEVEL
		LOGLEVEL	= loglevel	# need to set for the debug function
		self.port	= port		# port to serv on
		xmlrpc.setLogLevel(loglevel)	# set the module logging level
		usage		= USAGE		# usage string
		self.killed	= 0		# true if we've been killed
		self.contrl	= []		# list of our control objects
		self.cmdlist	= {		# our command list
			'getclient'	: self.cgetclient,
			'kill'		: self.ckill,
			'leave'		: self.cleave,
			'ping'		: self.cping,
			'usage'		: self.cusage,
			}
		for cont in controls:
			(self.cmdlist, usage) = cont.link(self.cmdlist, usage)
			self.contrl.append(cont)
		self.usage	= usage
		self.server	= xmlrpc.server()
		self.server.addMethods(self.cmdlist)
		if sys.platform[:5] != 'linux':
			return			# cause this doesn't work on windows
		self.stdin	= xmlrpc.source(sys.stdin.fileno())
		self.stdin.setCallback(self.cstdin, xmlrpc.ACT_INPUT, self.server)
		self.server.addSource(self.stdin)
Пример #2
0
def exampleCallback():
	src = xmlrpc.source(sys.stdin.fileno())
	print dir(src)
	serv = xmlrpc.server()
	serv.bindAndListen(2343)
	src.setCallback(stdinHandler, xmlrpc.ACT_INPUT, serv)
	serv.addSource(src)
	serv.work()