Ejemplo n.º 1
0
 def test_free_port(self, mock_socket):
     mock_sock = mock.Mock()
     mock_sock.bind.return_value = None
     mock_sock.close.return_value = None
     mock_sock.getsockname.return_value = ('127.0.0.1', 666)
     mock_socket.socket.return_value = mock_sock
     r = free_port()
     mock_sock.bind.assert_called_with(('localhost', 0))
     mock_sock.getsockname.assert_called_with()
     mock_sock.close.assert_called_with()
     self.assertEqual(r, 666)
Ejemplo n.º 2
0
                        metavar='IP',
                        nargs='?',
                        type=valid_ip,
                        help='Host ip',
                        default='0.0.0.0')
    parser.add_argument('-p',
                        '--port',
                        metavar='PORT',
                        nargs='?',
                        type=valid_port,
                        help='Port number',
                        default=5000)
    args = parser.parse_args()

    if args.port == 0:
        args.port = free_port()

    f = os.open(DAEMON, os.O_WRONLY | os.O_CREAT)
    os.write(f, str(args.port))
    os.close(f)

    web = WebView(debug=DEBUG, port=args.port, host=args.host)
    web.start()

    try:
        os.remove(DAEMON)
    except OSError:
        if DEBUG:
            # Em caso de debug este comando roda duas vezes.
            pass
        else:
Ejemplo n.º 3
0
    try:
        socket.inet_aton(value)
    except socket.error:
        raise argparse.ArgumentTypeError("%s is not a valid ip." % value)
    return value

if __name__ == "__main__":
    import argparse

    parser = argparse.ArgumentParser(description='WebService for OCR.')
    parser.add_argument('-H', '--host', metavar='IP', nargs='?', type=valid_ip, help='Host ip', default='0.0.0.0')
    parser.add_argument('-p', '--port', metavar='PORT', nargs='?', type=valid_port, help='Port number', default=5000)
    args = parser.parse_args()

    if args.port == 0:
        args.port = free_port()

    f = os.open(DAEMON, os.O_WRONLY | os.O_CREAT)
    os.write(f, str(args.port))
    os.close(f)

    web = WebView(debug=DEBUG, port=args.port, host=args.host)
    web.start()

    try:
        os.remove(DAEMON)
    except OSError:
        if DEBUG:
            # Em caso de debug este comando roda duas vezes.
            pass
        else: