Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
dbs = f.read()
cmd(self._server, self._model_name, 'option '+dbs)
#solver options
if self.solver_options:
opt_file=self._write_solver_options()
cmd(self._server,self._model_name, ' '+opt_file)
#extra files (eg solver.opt, cspline.data)
for f_name in self._extra_files:
with open(os.path.join(self._path,f_name)) as f:
extra_file_data = f.read() #read data
extra_file_data = 'File ' + f_name + '\n' + extra_file_data + 'End File \n' #format for appending to apm file
cmd(self._server,self._model_name, ' '+extra_file_data)
#solve remotely
response = cmd(self._server, self._model_name, 'solve', disp, debug)
#print APM error message and die
if (debug >= 1) and ('@error' in response):
raise Exception(response)
#load results
def byte2str(byte):
if type(byte) is bytes:
return byte.decode().replace('\r','')
else:
return byte
try:
results = byte2str(get_file(self._server,self._model_name,'results.json'))
f = open(os.path.join(self._path,'results.json'), 'w')
f.write(str(results))
#clear apm and csv files already on the server
cmd(self._server,self._model_name,'clear apm')
cmd(self._server,self._model_name,'clear csv')
#send model file
with open(os.path.join(self._path,self._model_name + '.apm')) as f:
model = f.read()
cmd(self._server, self._model_name, ' '+model)
#send csv file
send_if_exists('csv')
#send info file
send_if_exists('info')
#send dbs file
with open(os.path.join(self._path,'measurements.dbs')) as f:
dbs = f.read()
cmd(self._server, self._model_name, 'option '+dbs)
#solver options
if self.solver_options:
opt_file=self._write_solver_options()
cmd(self._server,self._model_name, ' '+opt_file)
#extra files (eg solver.opt, cspline.data)
for f_name in self._extra_files:
with open(os.path.join(self._path,f_name)) as f:
extra_file_data = f.read() #read data
extra_file_data = 'File ' + f_name + '\n' + extra_file_data + 'End File \n' #format for appending to apm file
cmd(self._server,self._model_name, ' '+extra_file_data)
#solve remotely
response = cmd(self._server, self._model_name, 'solve', disp, debug)
#print APM error message and die
def send_if_exists(extension):
path = os.path.join(self._path,self._model_name + '.' + extension)
if os.path.isfile(path):
with open(path) as f:
file = f.read()
cmd(self._server, self._model_name, extension+' '+file)
if errs:
print("Error:", errs)
if (debug >= 1) and record_error:
raise Exception(apm_error)
else: #solve on APM server
def send_if_exists(extension):
path = os.path.join(self._path,self._model_name + '.' + extension)
if os.path.isfile(path):
with open(path) as f:
file = f.read()
cmd(self._server, self._model_name, extension+' '+file)
#clear apm and csv files already on the server
cmd(self._server,self._model_name,'clear apm')
cmd(self._server,self._model_name,'clear csv')
#send model file
with open(os.path.join(self._path,self._model_name + '.apm')) as f:
model = f.read()
cmd(self._server, self._model_name, ' '+model)
#send csv file
send_if_exists('csv')
#send info file
send_if_exists('info')
#send dbs file
with open(os.path.join(self._path,'measurements.dbs')) as f:
dbs = f.read()
cmd(self._server, self._model_name, 'option '+dbs)
#solver options
if self.solver_options:
print("Error:", errs)
if (debug >= 1) and record_error:
raise Exception(apm_error)
else: #solve on APM server
def send_if_exists(extension):
path = os.path.join(self._path,self._model_name + '.' + extension)
if os.path.isfile(path):
with open(path) as f:
file = f.read()
cmd(self._server, self._model_name, extension+' '+file)
#clear apm and csv files already on the server
cmd(self._server,self._model_name,'clear apm')
cmd(self._server,self._model_name,'clear csv')
#send model file
with open(os.path.join(self._path,self._model_name + '.apm')) as f:
model = f.read()
cmd(self._server, self._model_name, ' '+model)
#send csv file
send_if_exists('csv')
#send info file
send_if_exists('info')
#send dbs file
with open(os.path.join(self._path,'measurements.dbs')) as f:
dbs = f.read()
cmd(self._server, self._model_name, 'option '+dbs)
#solver options
if self.solver_options:
opt_file=self._write_solver_options()
#Default model name, numbered to allow multiple models
if name == None:
name = 'gk_model'+str(self._id)
self._model_name = name.lower().replace(" ", "")
#Path of model folder
self._path = tempfile.mkdtemp(suffix=self._model_name)
self.path = self._path #DEPRECATED, temporarily included for backwards compatibility
#extra, non-default files to send to server (eg solver.opt, cspline.csv)
self._extra_files = []
#list of strings for solver options
self.solver_options = []
#clear anything already on the server
if self._remote:
cmd(self._server,self._model_name,'clear all')
#send model file
with open(os.path.join(self._path,self._model_name + '.apm')) as f:
model = f.read()
cmd(self._server, self._model_name, ' '+model)
#send csv file
send_if_exists('csv')
#send info file
send_if_exists('info')
#send dbs file
with open(os.path.join(self._path,'measurements.dbs')) as f:
dbs = f.read()
cmd(self._server, self._model_name, 'option '+dbs)
#solver options
if self.solver_options:
opt_file=self._write_solver_options()
cmd(self._server,self._model_name, ' '+opt_file)
#extra files (eg solver.opt, cspline.data)
for f_name in self._extra_files:
with open(os.path.join(self._path,f_name)) as f:
extra_file_data = f.read() #read data
extra_file_data = 'File ' + f_name + '\n' + extra_file_data + 'End File \n' #format for appending to apm file
cmd(self._server,self._model_name, ' '+extra_file_data)
#solve remotely
response = cmd(self._server, self._model_name, 'solve', disp, debug)
#print APM error message and die
if (debug >= 1) and ('@error' in response):
raise Exception(response)
#load results