1.1 --- a/lib/scripts/neos/NeosCSDPClient.py Wed Aug 05 17:10:10 2009 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,56 +0,0 @@
1.4 -#!/usr/bin/env python
1.5 -import sys
1.6 -import xmlrpclib
1.7 -import time
1.8 -import re
1.9 -
1.10 -from config import Variables
1.11 -
1.12 -if len(sys.argv) < 3 or len(sys.argv) > 3:
1.13 - sys.stderr.write("Usage: NeosCSDPClient <input_filename> <output_filename>\n")
1.14 - sys.exit(1)
1.15 -
1.16 -neos=xmlrpclib.Server("http://%s:%d" % (Variables.NEOS_HOST, Variables.NEOS_PORT))
1.17 -
1.18 -xmlfile = open(sys.argv[1],"r")
1.19 -xml_pre = "<document>\n<category>sdp</category>\n<solver>csdp</solver>\n<inputMethod>SPARSE_SDPA</inputMethod>\n<dat><![CDATA["
1.20 -xml_post = "]]></dat>\n</document>\n"
1.21 -xml = xml_pre
1.22 -buffer = 1
1.23 -while buffer:
1.24 - buffer = xmlfile.read()
1.25 - xml += buffer
1.26 -xmlfile.close()
1.27 -xml += xml_post
1.28 -
1.29 -(jobNumber,password) = neos.submitJob(xml)
1.30 -
1.31 -if jobNumber == 0:
1.32 - sys.stdout.write("error submitting job: %s" % password)
1.33 - sys.exit(-1)
1.34 -else:
1.35 - sys.stdout.write("jobNumber = %d\tpassword = %s\n" % (jobNumber,password))
1.36 -
1.37 -offset=0
1.38 -status="Waiting"
1.39 -while status == "Running" or status=="Waiting":
1.40 - time.sleep(1)
1.41 - (msg,offset) = neos.getIntermediateResults(jobNumber,password,offset)
1.42 - sys.stdout.write(msg.data)
1.43 - status = neos.getJobStatus(jobNumber, password)
1.44 -
1.45 -msg = neos.getFinalResults(jobNumber, password).data
1.46 -result = msg.split("Solution:")
1.47 -
1.48 -sys.stdout.write(result[0])
1.49 -if len(result) > 1:
1.50 - plain_msg = result[1].strip()
1.51 - if plain_msg != "":
1.52 - output = open(sys.argv[2],"w")
1.53 - output.write(plain_msg)
1.54 - output.close()
1.55 - sys.exit(0)
1.56 -
1.57 -sys.exit(2)
1.58 -
1.59 -