Changeset 0a9686d in sasview for sansmodels/src/python_wrapper
- Timestamp:
- Jun 25, 2012 9:07:41 AM (13 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 33c671e
- Parents:
- f8be87d
- Location:
- sansmodels/src/python_wrapper
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/python_wrapper/WrapperGenerator.py
r0ea247e r0a9686d 93 93 self.output_dir = output_dir 94 94 self.c_wrapper_dir = c_wrapper_dir 95 95 96 96 97 … … 201 202 202 203 203 204 204 205 for line in lines: 205 206 … … 209 210 try: 210 211 index = line.index(key) 211 #toks = string.split( line[index:], "=" )212 212 toks = line[index:].split("=" ) 213 213 self.pythonClass = toks[1].lstrip().rstrip() 214 214 215 except: 215 216 raise ValueError, "Could not parse file %s" % self.file … … 287 288 except: 288 289 raise ValueError, "Could not parse file %s" % self.file 289 290 291 290 292 291 def write_c_wrapper(self): 293 292 """ Writes the C file to create the python extension class … … 495 494 return newline 496 495 497 496 def getModelName(self): 497 return self.pythonClass 498 499 500 498 501 # main 499 502 if __name__ == '__main__': -
sansmodels/src/python_wrapper/wrapping.py
r101065a r0a9686d 6 6 def generate_wrappers(header_dir, output_dir='.', c_wrapper_dir='.'): 7 7 nModels=0 8 model_list = list() 9 8 10 for item in os.listdir(header_dir): 9 11 toks = os.path.splitext(os.path.basename(item)) … … 17 19 app.write_c_wrapper() 18 20 app.write_python_wrapper() 19 #print app 21 model_list.append(app.getModelName()) 22 write_c_models(model_list) 20 23 print "Total number of model wrappers created is %s" % nModels 24 25 def write_c_models(model_list): 26 # simultaneously generates 'sansmodels/installed_models.txt' 27 # and 'sansmodels/src/c_models/c_models.cpp' 28 model_list_file = open(os.path.join("sansmodels","installed_models.txt"),"w") 29 for model in model_list: 30 model_list_file.write(model + "\n") 31 32 model_list_file.close() 33 34 35 template_file = open(os.path.join("sansmodels","src","c_models","c_models.cpp.template"),"r") 36 write_file = open(os.path.join("sansmodels","src","c_models","c_models.cpp"),"w") 37 buf = template_file.read() 38 lines = buf.split('\n') 39 40 tag1 = "[TAG_1]" 41 tag2 = "[TAG_2]" 42 43 for line in lines: 44 45 if line.count(tag1) > 0: 46 write_file.write("\n // adding generated code \n") 47 for pyclass in model_list: 48 write_file.write("void addC" + pyclass 49 + "(PyObject *module); \n") 50 write_file.write(" // end generated code \n") 51 52 53 elif line.count(tag2) > 0: 54 write_file.write("\n // adding generated code \n") 55 56 for pyclass in model_list: 57 write_file.write("addC" + pyclass + "(m); \n") 58 59 write_file.write("addDisperser(m); \n") 60 write_file.write("\n // end generated code \n") 61 62 63 else: 64 write_file.write(line + "\n") 65 66 21 67 22 68 if __name__ == '__main__': … … 25 71 26 72 73 74
Note: See TracChangeset
for help on using the changeset viewer.