def dispatch(self, request, *args, **kwargs): with Session() as s: addr = kwargs['node'].replace('+', '/') if addr.startswith(':') or addr.startswith('/'): addr = request.META['REMOTE_ADDR'] + addr response = HttpResponse() thisNode = Node.getThisNode(s, addr).first() otherNode = Node.getOtherNode(s, addr).first() linkedNodeCount = Node.getLinkedNode(s).count() welcome = False if thisNode: welcome = True thisNode.linked = True thisNode.updateTimestamp() s.commit() elif linkedNodeCount < settings.MAX_NODES: welcome = True s.add(Node(host=addr, linked=True)) s.commit() if welcome: response.write('WELCOME') if otherNode: response.write('\n'+str(otherNode.host)) return response
def dispatch(self, request, *args, **kwargs): with Session() as s: addr = request.META['REMOTE_ADDR'] response = HttpResponse() node = Node.getOtherNode(s, addr).first() if node is not None: response.write(str(node.host)) return response