X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=blobdiff_plain;f=irc.py;h=bae1f80d7043f68903a8a80915b408450e7a6989;hp=8143593c3d0357b674ded34c42295ea9e0dfbd8e;hb=cb1ebe091b58cb616458c1afd1b97251d61eabed;hpb=23de59ae6d8da801586cb2992a76e651fa72c0c4 diff --git a/irc.py b/irc.py index 8143593..bae1f80 100644 --- a/irc.py +++ b/irc.py @@ -60,3 +60,31 @@ class Irc(threading.Thread): finally: sf.close() s.close() + + +class ServerBackend: + + def __init__(self, config, processor): + self.banner = config.get('server','banner') + self.irc = Irc(processor, config.get('server','host'), config.get('server','ircname')) + self.irc.processor = processor + if (config.get('server','irc') == 'yes' ): + self.irc.start() + + def process(self, request, queue): + method = request['method'] + + result = '' + if method == 'server.banner': + result = self.banner.replace('\\n','\n') + elif method == 'server.peers.subscribe': + result = self.irc.get_peers() + else: + print "unknown method", request + + if result!='': + response = { 'id':request['id'], 'method':method, 'params':request['params'], 'result':result } + queue.put(response) + + +