Beispiel #1
0

HANDSHAKE_MAGIC = 'matlab_\bproxy'

if __name__ == '__main__':
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument('MATLABROOT')
    args = parser.parse_args()

    # move __main__.AnalysisError to matlab_proxy.AnalysisError so the client can unpickle it
    # (these few lines are easier than ensuring matlab_proxy can be imported in all cases)
    from types import ModuleType
    matlab_proxy = ModuleType('matlab_proxy')
    matlab_proxy.AnalysisError = AnalysisError
    AnalysisError.__module__ = matlab_proxy.__name__
    AnalysisError = matlab_proxy.AnalysisError
    sys.modules['matlab_proxy'] = matlab_proxy

    MATLABROOT = args.MATLABROOT

    engine = EngineProxyServer(
        import_matlab_python_engine(MATLABROOT).start_matlab())
    sys.stdout.write(HANDSHAKE_MAGIC + '\n')

    while True:
        # debug = open('method.txt', 'wb')
        # while True:
        #    debug.write(sys.stdin.readline())
        #    debug.flush()
        os.environ['PATH'] = old_path

HANDSHAKE_MAGIC = 'matlab_\bproxy'

if __name__ == '__main__':
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument('MATLABROOT')
    args = parser.parse_args()

    # move __main__.AnalysisError to matlab_proxy.AnalysisError so the client can unpickle it
    # (these few lines are easier than ensuring matlab_proxy can be imported in all cases)
    from types import ModuleType
    matlab_proxy = ModuleType('matlab_proxy')
    matlab_proxy.AnalysisError = AnalysisError
    AnalysisError.__module__ = matlab_proxy.__name__
    AnalysisError = matlab_proxy.AnalysisError
    sys.modules['matlab_proxy'] = matlab_proxy

    MATLABROOT = args.MATLABROOT

    engine = EngineProxyServer(import_matlab_python_engine(MATLABROOT).start_matlab())
    sys.stdout.write(HANDSHAKE_MAGIC + '\n')

    while True:
        # debug = open('method.txt', 'wb')
        # while True:
        #    debug.write(sys.stdin.readline())
        #    debug.flush()
        method = sys.stdin.readline().rstrip('\n')