Changeset 355
- Timestamp:
- 11/19/08 10:35:15 (2 months ago)
- Files:
-
- trunk/src/parameters.py (modified) (9 diffs)
- trunk/test/test_parameters.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/parameters.py
r354 r355 346 346 if hasattr(v, 'items'): 347 347 if expand_urls is False and hasattr(v, '_url') and v._url: 348 s.append('%s"%s": url("%s") ' % (indent, k, v._url))348 s.append('%s"%s": url("%s"),' % (indent, k, v._url)) 349 349 else: 350 350 s.append('%s"%s": {' % (indent, k)) … … 363 363 364 364 tmp = ParameterSet({}) 365 366 365 for key in self: 367 366 value = self[key] … … 371 370 else: 372 371 tmp[key]=value 373 372 if tmp._is_space(): 373 tmp = ParameterSpace(tmp) 374 374 return tmp 375 376 375 377 376 def as_dict(self): … … 388 387 else: 389 388 tmp[key]=value 390 391 389 return tmp 392 390 … … 418 416 return result1, result2 419 417 418 def _is_space(self): 419 """ 420 Checks for the presence of ParameterRanges or ParameterDists to 421 determine if this is a ParameterSet or a ParameterSpace. 422 """ 423 for k,v in self.flat(): 424 if isinstance(v, ParameterRange) or isinstance(v, ParameterDist): 425 return True 426 return False 427 420 428 421 429 class ParameterSpace(ParameterSet): … … 430 438 431 439 tmp = self.tree_copy() 432 433 440 for val in self[range_key]: 434 tmp[range_key] =val441 tmp[range_key] = val 435 442 yield tmp 436 443 … … 449 456 450 457 """ 451 452 458 if len(keys)==0: 453 459 # return an iterator over 1 copy for modifying … … 461 467 for val in self[keys[0]]: 462 468 tmp[keys[0]]=val 469 if not tmp._is_space(): 470 tmp = ParameterSet(tmp) 463 471 yield tmp 464 472 else: … … 471 479 tmp_copy = tmp.tree_copy() 472 480 tmp_copy[keys[0]]=val 481 if not tmp_copy._is_space(): 482 tmp = ParameterSet(tmp) 473 483 yield tmp_copy 474 484 trunk/test/test_parameters.py
r280 r355 265 265 assert isinstance(ps7, ParameterSpace) 266 266 assert isinstance(out[0], ParameterSet) 267 assert not isinstance(out[0], ParameterSpace) 267 assert not isinstance(out[0], ParameterSpace), "%s %s %s" % (out[0].pretty(), out[0]._is_space(), type(out[0])) 268 268 269 269 def test_copy(self):

