Exemple #1
0
 def __init__(self, repopath, port=50000):
     self.server = jsonrpc.Server(
         jsonrpc.JsonRpc20(),
         jsonrpc.TransportTcpIp(timeout=60.0, addr=("0.0.0.0", port)))
     repo = repository.Repo(repopath)
     fr = front.Front(repo)
     self.server.register_instance(fr, "front")
    def run(self):
        import sys
        from corenlp import StanfordCoreNLP
        import jsonrpc

        sys.__stdin__ = sys.__stdout__

        server = jsonrpc.Server(
            jsonrpc.JsonRpc20(),
            jsonrpc.TransportTcpIp(addr=("0.0.0.0", int(self.port))))

        nlp = StanfordCoreNLP()
        server.register_function(nlp.parse)
        server.register_function(nlp.parse_file)
        print "registering parse_file"
        server.register_function(lambda *a, **k: 'pong', 'ping')

        try:
            server.serve()
        except KeyboardInterrupt:
            print("%d exiting" % self.port)
Exemple #3
0
    def __register(self):
        #return

        server = jsonrpc.Server(
            jsonrpc.JsonRpc20(),
            jsonrpc.TransportTcpIp(addr=('', self.rpc_port))
        )  #, logfunc=jsonrpc.log_file("myrpc.%i.log"%self.rpc_port)
        server.register_function(self.get_hg_port)
        server.register_function(self.get_bt_port)
        server.register_function(self.you_should_pull_from)
        server.register_function(self.please_mirror)
        server.register_function(self.get_active_info_hashes)
        server.register_function(self.get_free_space)
        server.register_function(self.please_stop_mirroring)

        t = threading.Thread(target=server.serve)
        t.daemon = True
        t.start()

        t = threading.Thread(target=self.repo.hg_serve, args=(self.hg_port, ))
        t.daemon = True
        t.start()
        print 'http://localhost:%i/' % self.hg_port

        print 'registering bonjour listener...'
        self.bj_name = self.name + '__' + uuid.uuid4().hex
        bjservice = pybonjour.DNSServiceRegister(
            name=self.bj_name,
            regtype="_delugefs._tcp",
            port=self.rpc_port,
            callBack=self.__bonjour_register_callback)
        try:
            while True:
                ready = select.select([bjservice], [], [])
                if bjservice in ready[0]:
                    pybonjour.DNSServiceProcessResult(bjservice)
        except KeyboardInterrupt:
            pass
        response = self._parse(text)
        logger.debug("Response: '%s'" % (response))
        return json.dumps(response)


if __name__ == '__main__':
    """
    The code below starts an JSONRPC server
    """
    parser = optparse.OptionParser(usage="%prog [OPTIONS]")
    parser.add_option('-p',
                      '--port',
                      default='8080',
                      help='Port to serve on (default: 8080)')
    parser.add_option(
        '-H',
        '--host',
        default='127.0.0.1',
        help='Host to serve on (default: 127.0.0.1. Use 0.0.0.0 to make public)'
    )
    options, args = parser.parse_args()
    server = jsonrpc.Server(
        jsonrpc.JsonRpc20(),
        jsonrpc.TransportTcpIp(addr=(options.host, int(options.port))))

    nlp = StanfordCoreNLP()
    server.register_function(nlp.parse)

    logger.info('Serving on http://%s:%s' % (options.host, options.port))
    server.serve()
Exemple #5
0
    
    def parse(self, text):
        """ 
        This function takes a text string, sends it to the Stanford parser,
        reads in the result, parses the results and returns a list
        with one dictionary entry for each parsed sentence, in JSON format.
        """
        response = self._parse(text)
        logger.debug("Response: '%s'" % (response))
        return json.dumps(response)


if __name__ == '__main__':
    """
    The code below starts an JSONRPC server
    """
    parser = optparse.OptionParser(usage="%prog [OPTIONS]")
    parser.add_option('-p', '--port', default='8080',
                      help='Port to serve on (default: 8080)')
    parser.add_option('-H', '--host', default='127.0.0.1',
                      help='Host to serve on (default: 127.0.0.1. Use 0.0.0.0 to make public)')
    options, args = parser.parse_args()
    server = jsonrpc.Server(jsonrpc.JsonRpc20(),
                            jsonrpc.TransportTcpIp(addr=(options.host, int(options.port)),limit=50000, timeout=10000.0))
    
    nlp = StanfordCoreNLP()
    server.register_function(nlp.parse)
    
    logger.info('Serving on http://%s:%s' % (options.host, options.port))
    server.serve()
Exemple #6
0
#!/usr/bin/env python

# Create a JSON-RPC-server
import jsonrpc, threading

# Custom JSON-RPC 2.0 error-codes
INVALID_SESSION_ID_ERROR = 1
INSUFFICIENT_NUM_STACK_ITEMS = 2
OUT_OF_SESSION_IDS = 3

server = jsonrpc.Server(
    jsonrpc.JsonRpc20(),
    jsonrpc.TransportTcpIp(addr=("127.0.0.1", 31415),
                           logfunc=jsonrpc.log_file("myrpc.log")))
lock = threading.Lock()
idIndex = 0
sessions = {}


class OpenSessionError(jsonrpc.RPCFault):
    def __init__(self, error_data=None):
        jsonrpc.RPCFault.__init__(self, OUT_OF_SESSION_IDS,
                                  "Out of session IDs. Reached max integer.",
                                  error_data)


class InvalidSessionIdError(jsonrpc.RPCFault):
    def __init__(self, error_data=None):
        jsonrpc.RPCFault.__init__(self, INVALID_SESSION_ID_ERROR,
                                  "Invalid session ID.", error_data)