Changeset 5da3cc5 in sasview for sansmodels/src/python_wrapper
- Timestamp:
- Jul 10, 2012 9:59:33 AM (12 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:
- 83d9120
- Parents:
- c2e5898
- Location:
- sansmodels/src/python_wrapper
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/python_wrapper/WrapperGenerator.py
rfa6db8b r5da3cc5 92 92 # Model category 93 93 self.category = None 94 # Whether model belongs to multifunc 95 self.is_multifunc = False 94 96 ## output directory for wrappers 95 97 self.output_dir = output_dir … … 228 230 raise ValueError, "Could not parse file %s" % self.file 229 231 230 232 # is_multifunc 233 key = "[MULTIPLICITY_INFO]" 234 if line.count(key) > 0: 235 self.is_multifunc = True 236 try: 237 index = line.index(key) 238 toks = line[index:].split("=") 239 self.multiplicity_info = toks[1].lstrip().rstrip() 240 except: 241 raise ValueError, "Could not parse file %s" % self.file 231 242 232 243 # Catch struct name … … 331 342 newline = self.replaceToken(newline, 332 343 "[MODELSTRUCT]", self.structName) 344 345 # Sort model initialization based on multifunc 346 if(self.is_multifunc): 347 line = "int level = 1;\nPyArg_ParseTuple(args,\"i\",&level);\n" 348 line += "self->model = new " + self.pythonClass + "(level);" 349 else: 350 line = "self->model = new " + self.pythonClass + "();" 351 352 newline = self.replaceToken(newline,"[INITIALIZE_MODEL]", 353 line) 333 354 334 355 # Dictionary initialization … … 465 486 newline = self.replaceToken(newline, 466 487 "[PAR_DETAILS]", self.details) 488 489 # Call base constructor 490 if self.is_multifunc: 491 newline = self.replaceToken(newline,"[CALL_CPYTHON_INIT]", 492 'C' + self.pythonClass + ".__init__(self,multfactor)\n\tself.is_multifunc = True") 493 newline = self.replaceToken(newline,"[MULTIPLICITY_INFO]",self.multiplicity_info) 494 else: 495 newline = self.replaceToken(newline,"[CALL_CPYTHON_INIT]", 496 'C' + self.pythonClass + ".__init__(self)\n\tself.is_multifunc = False") 497 newline = self.replaceToken(newline,"[MULTIPLICITY_INFO]","None") 498 467 499 468 500 # fixed list details -
sansmodels/src/python_wrapper/classTemplate.txt
re08bd5b r5da3cc5 86 86 self->params = PyDict_New(); 87 87 self->dispersion = PyDict_New(); 88 self->model = new [CMODEL](); 89 88 89 [INITIALIZE_MODEL] 90 90 91 [INITDICTIONARY] 91 92 -
sansmodels/src/python_wrapper/modelTemplate.txt
rfa6db8b r5da3cc5 43 43 """ 44 44 45 def __init__(self ):45 def __init__(self,multfactor=1): 46 46 """ Initialization """ 47 47 self.__dict__ = {} … … 50 50 BaseComponent.__init__(self) 51 51 #apply([CPYTHONCLASS].__init__, (self,)) 52 [CPYTHONCLASS].__init__(self) 53 52 53 [CALL_CPYTHON_INIT] 54 54 55 ## Name of the model 55 56 self.name = "[PYTHONCLASS]" … … 70 71 71 72 self.category = [CATEGORY] 73 self.multiplicity_info = [MULTIPLICITY_INFO] 74 72 75 73 76 def __setstate__(self, state):
Note: See TracChangeset
for help on using the changeset viewer.