Contact: fumanchu@aminus.org

Log in as guest/dejavu to create tickets

I think I've seen this ORM somewhere before...

Changeset 516

Show
Ignore:
Timestamp:
09/28/07 01:03:07
Author:
fumanchu
Message:

Some errors in passing args to superclass calls.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dejavu/storage/__init__.py

    r515 r516  
    396396    def _multirecall(self, classes, expr=None, order=None, limit=None, offset=None): 
    397397        """Return lists of units which satisfy the expression.""" 
    398         return [t for t in self._xmultirecall(classes, expr=None, order=None
    399                                               limit=None, offset=None)] 
     398        return [t for t in self._xmultirecall(classes, expr=expr, order=order
     399                                              limit=limit, offset=offset)] 
    400400     
    401401    def xview(self, query, order=None, limit=None, offset=None, distinct=False): 
  • trunk/dejavu/storage/db.py

    r515 r516  
    9090        """Yield a sequence of Unit instances which satisfy the expression.""" 
    9191        if isinstance(classes, dejavu.UnitJoin): 
    92             for unitrow in self._xmultirecall(classes, expr, order=None
    93                                               limit=None, offset=None): 
     92            for unitrow in self._xmultirecall(classes, expr, order=order
     93                                              limit=limit, offset=offset): 
    9494                yield unitrow 
    9595            return 
  • trunk/dejavu/storage/partitions.py

    r515 r516  
    190190        """Yield a sequence of Unit instances which satisfy the expression.""" 
    191191        if isinstance(classes, dejavu.UnitJoin): 
    192             for unitrow in self._xmultirecall(classes, expr, order=None
    193                                               limit=None, offset=None): 
     192            for unitrow in self._xmultirecall(classes, expr, order=order
     193                                              limit=limit, offset=offset): 
    194194                yield unitrow 
    195195        else: 
  • trunk/dejavu/test/zoo_fixture.py

    r515 r516  
    257257            leopard.LastEscape = datetime.datetime(2004, 12, 21, 8, 15, 0, 999907) 
    258258             
    259             lion = Animal(Species='Lion', ZooID=WAP.ID) 
     259            lion = Animal(Species='Lion', ZooID=WAP.ID, 
     260                          LastEscape = datetime.datetime(2007, 9, 24, 
     261                                                         16, 18, 42)) 
    260262            box.memorize(lion) 
    261263             
     
    276278            emp = Animal(Species='Emperor Penguin', Legs=2) 
    277279            box.memorize(emp) 
    278             adelie = Animal(Species='Adelie Penguin', Legs=2) 
     280            adelie = Animal(Species='Adelie Penguin', Legs=2, 
     281                            LastEscape = datetime.datetime(2007, 9, 20, 
     282                                                           19, 10, 14)) 
    279283            box.memorize(adelie) 
    280284             
     
    468472            self.assertEqual(matches(lambda x: x.Species.startswith('L')), 2) 
    469473            self.assertEqual(matches(lambda x: x.Species.endswith('pede')), 2) 
    470             self.assertEqual(matches(lambda x: x.LastEscape != None), 1
    471             self.assertEqual(matches(lambda x: x.LastEscape is not None), 1
    472             self.assertEqual(matches(lambda x: None == x.LastEscape), 11
     474            self.assertEqual(matches(lambda x: x.LastEscape != None), 3
     475            self.assertEqual(matches(lambda x: x.LastEscape is not None), 3
     476            self.assertEqual(matches(lambda x: None == x.LastEscape), 9
    473477             
    474478            # In operator (containedby) 
     
    617621        zoos = root.recall(Zoo, lambda z: z.Founded != None, 
    618622                           order=lambda z: [reversed(z.Founded)], 
    619 ##                           limit=2, 
     623                           limit=2, 
    620624                           ) 
    621625        self.assertEqual([z.Founded for z in zoos], 
    622626                         [datetime.date(2000, 1, 1), 
    623627                          datetime.date(1992, 6, 19), 
    624                           datetime.date(1835, 9, 13), 
    625628                          ]) 
     629     
     630        # Test limit, reversed() with a join 
     631        data = root.recall(Animal << Zoo, lambda a, z: a.LastEscape != None, 
     632                           order=lambda a, z: [reversed(a.LastEscape)], 
     633                           limit=1, 
     634                           ) 
     635        # [datetime.datetime(2004, 12, 21, 8, 15), 
     636        #  datetime.datetime(2007, 9, 24, 16, 18, 42), 
     637        #  datetime.datetime(2007, 9, 20, 19, 10, 14)] 
     638        self.assertEqual([a.LastEscape for a, z in data], 
     639                         [datetime.datetime(2007, 9, 24, 16, 18, 42)]) 
    626640     
    627641    def test_6_Editing(self):