Changeset 3051
- Timestamp:
- 02/13/08 14:25:51 (10 months ago)
- Files:
-
- ipython1/branches/ipython1-client-r3021/TODO (modified) (1 diff)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/enginepb.py (modified) (2 diffs)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/engineservice.py (modified) (2 diffs)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/multiengine.py (modified) (5 diffs)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/multiengineclient.py (modified) (2 diffs)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/multienginexmlrpc.py (modified) (4 diffs)
- ipython1/branches/ipython1-client-r3021/ipython1/kernel/tests/multienginetest.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ipython1/branches/ipython1-client-r3021/TODO
r3049 r3051 5 5 Actions: 6 6 7 * Write test_taskxmlrpc 8 * Write tests for Properties in multiengine 7 9 8 * Work on Task interfaces 10 9 ipython1/branches/ipython1-client-r3021/ipython1/kernel/enginepb.py
r3028 r3051 432 432 return self.service.setProperties(namespace).addErrback(packageFailure) 433 433 434 def remote_getProperties(self, keys ):434 def remote_getProperties(self, keys=None): 435 435 """Pull a subdict of the properties for this engine by keys""" 436 436 d = self.service.getProperties(keys) … … 716 716 return d 717 717 718 def getProperties(self, keys ):718 def getProperties(self, keys=None): 719 719 d = self.callRemote('getProperties', keys) 720 720 d.addCallback(self.checkReturnForFailure) ipython1/branches/ipython1-client-r3021/ipython1/kernel/engineservice.py
r3037 r3051 163 163 """set properties by key and value""" 164 164 165 def getProperties(keys ):165 def getProperties(keys=None): 166 166 """get a list of properties by `keys`, if no keys specified, get all""" 167 167 … … 742 742 743 743 @queue 744 def getProperties(self, keys ):744 def getProperties(self, keys=None): 745 745 pass 746 746 ipython1/branches/ipython1-client-r3021/ipython1/kernel/multiengine.py
r3043 r3051 184 184 """set properties by key and value""" 185 185 186 def getProperties(keys , targets='all'):186 def getProperties(keys=None, targets='all'): 187 187 """get a list of properties by `keys`, if no keys specified, get all""" 188 188 … … 406 406 logErrors=0) 407 407 408 def getProperties(self, keys , targets='all'):408 def getProperties(self, keys=None, targets='all'): 409 409 log.msg("Getting properties on %r" % targets) 410 410 try: … … 587 587 588 588 @twoPhase 589 def getProperties(self, keys , targets='all'):589 def getProperties(self, keys=None, targets='all'): 590 590 return self.multiengine.getProperties(keys, targets) 591 591 … … 599 599 600 600 @twoPhase 601 def clearProperties(self, keys,targets='all'):602 return self.multiengine.clearProperties( keys,targets)601 def clearProperties(self, targets='all'): 602 return self.multiengine.clearProperties(targets) 603 603 604 604 #--------------------------------------------------------------------------- … … 697 697 return self._submitThenBlock('setProperties', properties, targets) 698 698 699 def getProperties(self, keys , targets='all'):699 def getProperties(self, keys=None, targets='all'): 700 700 return self._submitThenBlock('getProperties', keys, targets) 701 701 ipython1/branches/ipython1-client-r3021/ipython1/kernel/multiengineclient.py
r3049 r3051 408 408 of the instance. 409 409 """ 410 410 411 411 # Convert to list for sorting and check class type 412 412 prList = list(pendingResults) … … 505 505 return self._blockFromThread(self.stpmultiengine.setProperties, properties, targets=targets, block=block) 506 506 507 def getProperties(self, keys , targets=None, block=None):507 def getProperties(self, keys=None, targets=None, block=None): 508 508 targets, block = self._findTargetsAndBlock(targets, block) 509 509 return self._blockFromThread(self.stpmultiengine.getProperties, keys, targets=targets, block=block) ipython1/branches/ipython1-client-r3021/ipython1/kernel/multienginexmlrpc.py
r3046 r3051 256 256 @packageResult 257 257 def xmlrpc_getProperties(self, request, keys, targets, block): 258 if keys=='None': 259 keys=None 258 260 return self.smultiengine.getProperties(keys, targets=targets, block=block) 259 261 … … 267 269 268 270 @packageResult 269 def xmlrpc_clearProperties(self, request, keys,targets, block):270 return self.smultiengine.clearProperties( keys,targets=targets, block=block)271 def xmlrpc_clearProperties(self, request, targets, block): 272 return self.smultiengine.clearProperties(targets=targets, block=block) 271 273 272 274 #--------------------------------------------------------------------------- … … 456 458 return d 457 459 458 def getProperties(self, keys, targets='all', block=True): 460 def getProperties(self, keys=None, targets='all', block=True): 461 if keys==None: 462 keys='None' 459 463 d = self._proxy.callRemote('getProperties', keys, targets, block) 460 464 d.addCallback(self.unpackage) … … 472 476 473 477 def clearProperties(self, targets='all', block=True): 474 d = self._proxy.callRemote('clearProperties', keys,targets, block)478 d = self._proxy.callRemote('clearProperties', targets, block) 475 479 d.addCallback(self.unpackage) 476 480 return d ipython1/branches/ipython1-client-r3021/ipython1/kernel/tests/multienginetest.py
r3041 r3051 356 356 return d 357 357 358 def testProperties(self): 359 """This test needs to be implemented!""" 360 pass 358 def testGetSetProperties(self): 359 self.addEngine(4) 360 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 361 d = self.multiengine.setProperties(dikt) 362 d.addCallback(lambda r: self.multiengine.getProperties()) 363 d.addCallback(lambda r: self.assertEquals(r, 4*[dikt])) 364 d.addCallback(lambda r: self.multiengine.getProperties(('c',))) 365 d.addCallback(lambda r: self.assertEquals(r, 4*[{'c': dikt['c']}])) 366 d.addCallback(lambda r: self.multiengine.setProperties(dict(c=False))) 367 d.addCallback(lambda r: self.multiengine.getProperties(('c', 'd'))) 368 d.addCallback(lambda r: self.assertEquals(r, 4*[dict(c=False, d=None)])) 369 return d 370 371 def testClearProperties(self): 372 self.addEngine(4) 373 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 374 d = self.multiengine.setProperties(dikt) 375 d.addCallback(lambda r: self.multiengine.clearProperties()) 376 d.addCallback(lambda r: self.multiengine.getProperties()) 377 d.addCallback(lambda r: self.assertEquals(r, 4*[{}])) 378 return d 379 380 def testDelHasProperties(self): 381 self.addEngine(4) 382 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 383 d = self.multiengine.setProperties(dikt) 384 d.addCallback(lambda r: self.multiengine.delProperties(('b','e'))) 385 d.addCallback(lambda r: self.multiengine.hasProperties(('a','b','c','d','e'))) 386 d.addCallback(lambda r: self.assertEquals(r, 4*[[True, False, True, True, False]])) 387 return d 361 388 362 389 … … 547 574 d.addCallback(lambda r: self.assert_(isinstance(r[0],tuple))) 548 575 return d 549 550 def testProperties(self): 551 """This test needs to be implemented!""" 552 pass 553 576 554 577 def testGetIDs(self): 555 578 self.addEngine(1) … … 559 582 d.addCallback(lambda _: self.multiengine.getIDs()) 560 583 d.addCallback(lambda r: self.assertEquals(r, [0,1,2,3])) 584 return d 585 586 def testGetSetProperties(self): 587 self.addEngine(4) 588 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 589 d = self.multiengine.setProperties(dikt) 590 d.addCallback(lambda r: self.multiengine.getProperties()) 591 d.addCallback(lambda r: self.assertEquals(r, 4*[dikt])) 592 d.addCallback(lambda r: self.multiengine.getProperties(('c',))) 593 d.addCallback(lambda r: self.assertEquals(r, 4*[{'c': dikt['c']}])) 594 d.addCallback(lambda r: self.multiengine.setProperties(dict(c=False))) 595 d.addCallback(lambda r: self.multiengine.getProperties(('c', 'd'))) 596 d.addCallback(lambda r: self.assertEquals(r, 4*[dict(c=False, d=None)])) 597 598 # Non-blocking 599 d.addCallback(lambda r: self.multiengine.setProperties(dikt, block=False)) 600 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 601 d.addCallback(lambda r: self.multiengine.getProperties(block=False)) 602 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 603 d.addCallback(lambda r: self.assertEquals(r, 4*[dikt])) 604 d.addCallback(lambda r: self.multiengine.getProperties(('c',), block=False)) 605 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 606 d.addCallback(lambda r: self.assertEquals(r, 4*[{'c': dikt['c']}])) 607 d.addCallback(lambda r: self.multiengine.setProperties(dict(c=False), block=False)) 608 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 609 d.addCallback(lambda r: self.multiengine.getProperties(('c', 'd'), block=False)) 610 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 611 d.addCallback(lambda r: self.assertEquals(r, 4*[dict(c=False, d=None)])) 612 return d 613 614 def testClearProperties(self): 615 self.addEngine(4) 616 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 617 d = self.multiengine.setProperties(dikt) 618 d.addCallback(lambda r: self.multiengine.clearProperties()) 619 d.addCallback(lambda r: self.multiengine.getProperties()) 620 d.addCallback(lambda r: self.assertEquals(r, 4*[{}])) 621 622 # Non-blocking 623 d.addCallback(lambda r: self.multiengine.setProperties(dikt, block=False)) 624 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 625 d.addCallback(lambda r: self.multiengine.clearProperties(block=False)) 626 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 627 d.addCallback(lambda r: self.multiengine.getProperties(block=False)) 628 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 629 d.addCallback(lambda r: self.assertEquals(r, 4*[{}])) 630 return d 631 632 def testDelHasProperties(self): 633 self.addEngine(4) 634 dikt = dict(a=5, b='asdf', c=True, d=None, e=range(5)) 635 d = self.multiengine.setProperties(dikt) 636 d.addCallback(lambda r: self.multiengine.delProperties(('b','e'))) 637 d.addCallback(lambda r: self.multiengine.hasProperties(('a','b','c','d','e'))) 638 d.addCallback(lambda r: self.assertEquals(r, 4*[[True, False, True, True, False]])) 639 640 # Non-blocking 641 d.addCallback(lambda r: self.multiengine.setProperties(dikt, block=False)) 642 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 643 d.addCallback(lambda r: self.multiengine.delProperties(('b','e'), block=False)) 644 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 645 d.addCallback(lambda r: self.multiengine.hasProperties(('a','b','c','d','e'), block=False)) 646 d.addCallback(lambda did: self.multiengine.getPendingDeferred(did, True)) 647 d.addCallback(lambda r: self.assertEquals(r, 4*[[True, False, True, True, False]])) 561 648 return d 562 649
