Changeset 202
- Timestamp:
- 09/08/07 10:10:23 (6 years ago)
- Location:
- elixir/trunk
- Files:
-
- 10 modified
-
elixir/entity.py (modified) (1 diff)
-
elixir/ext/versioned.py (modified) (2 diffs)
-
tests/test_autoload.py (modified) (1 diff)
-
tests/test_autoload_nopk.py (modified) (1 diff)
-
tests/test_encryption.py (modified) (2 diffs)
-
tests/test_events.py (modified) (1 diff)
-
tests/test_inherit.py (modified) (1 diff)
-
tests/test_multi.py (modified) (2 diffs)
-
tests/test_options.py (modified) (3 diffs)
-
tests/test_order_by.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
elixir/trunk/elixir/entity.py
r199 r202 639 639 640 640 def get_by(cls, *args, **kwargs): 641 # warnings.warn("The get_by method on the class is deprecated." 642 # "You should use cls.query.get_by", DeprecationWarning, 643 # stacklevel=2) 644 return cls.q.get_by(*args, **kwargs) 641 return cls.query().filter_by(*args, **kwargs).first() 645 642 get_by = classmethod(get_by) 646 643 644 # DEPRECATED LAND 647 645 def select(cls, *args, **kwargs): 648 #warnings.warn("The select method on the class is deprecated."649 # "You should use cls.query.select", DeprecationWarning,650 #stacklevel=2)651 return cls.q .select(*args, **kwargs)646 warnings.warn("The select method on the class is deprecated." 647 "You should use cls.query.filter(...).all()", DeprecationWarning, 648 stacklevel=2) 649 return cls.query().filter(*args, **kwargs).all() 652 650 select = classmethod(select) 653 651 -
elixir/trunk/elixir/ext/versioned.py
r185 r202 143 143 # attach utility methods and properties to the entity 144 144 def get_versions(self): 145 return entity._descriptor.objectstore.query(Version). select(get_history_where(self))145 return entity._descriptor.objectstore.query(Version).filter(get_history_where(self)).all() 146 146 147 147 def get_as_of(self, dt): 148 148 # if the passed in timestamp is older than our current version's 149 149 # time stamp, then the most recent version is our current version 150 if self.timestamp < dt: return self 150 if self.timestamp < dt: 151 return self 151 152 152 153 # otherwise, we need to look to the history table to get our 153 154 # older version 154 items = entity._descriptor.objectstore.query(Version).select( 155 and_(get_history_where(self), Version.c.timestamp <= dt), 156 order_by=desc(Version.c.timestamp), 157 limit=1 158 ) 159 if items: return items[0] 160 else: return None 155 query = entity._descriptor.objectstore.query(Version) 156 query = query.filter(and_(get_history_where(self), 157 Version.c.timestamp <= dt)) 158 query = query.order_by(desc(Version.c.timestamp)).limit(1) 159 return query.first() 161 160 162 161 def revert_to(self, to_version): … … 172 171 173 172 hist.delete(and_(get_history_where(self), hist.c.version>=to_version)).execute() 174 for event in after_revert_events: event(self) 173 for event in after_revert_events: 174 event(self) 175 175 176 176 def revert(self): -
elixir/trunk/tests/test_autoload.py
r179 r202 115 115 objectstore.clear() 116 116 117 p = Person. q.filter_by(name="Homer").one()117 p = Person.get_by(name="Homer") 118 118 119 119 assert p in p.father.children -
elixir/trunk/tests/test_autoload_nopk.py
r178 r202 33 33 objectstore.clear() 34 34 35 persons = Person.q .all()35 persons = Person.query().all() 36 36 37 37 assert len(persons) == 1 -
elixir/trunk/tests/test_encryption.py
r172 r202 53 53 objectstore.flush(); objectstore.clear() 54 54 55 p = Person. q.get_by(name='Jonathan LaCour')55 p = Person.get_by(name='Jonathan LaCour') 56 56 assert p.password == 's3cr3tw0RD' 57 57 assert p.ssn == '123-45-6789' … … 65 65 objectstore.flush(); objectstore.clear() 66 66 67 p = Person. q.get_by(name='Jonathan LaCour')67 p = Person.get_by(name='Jonathan LaCour') 68 68 assert p.password == 'N3wpAzzw0rd' 69 69 p.name = 'Jon LaCour' -
elixir/trunk/tests/test_events.py
r178 r202 74 74 objectstore.flush(); objectstore.clear() 75 75 76 d = Document. get(1)76 d = Document.query().get(1) 77 77 d.name = 'My Document Updated' 78 78 objectstore.flush(); objectstore.clear() 79 79 80 d = Document. get(1)80 d = Document.query().get(1) 81 81 d.delete() 82 82 objectstore.flush(); objectstore.clear() -
elixir/trunk/tests/test_inherit.py
r196 r202 44 44 res = {} 45 45 for class_ in (A, B, C, D): 46 res[class_.__name__] = class_.q .all()46 res[class_.__name__] = class_.query().all() 47 47 res[class_.__name__].sort(key=lambda o: o.__class__.__name__) 48 48 -
elixir/trunk/tests/test_multi.py
r178 r202 51 51 homer = Person.get_by(name="Homer") 52 52 lisa = Person.get_by(name="Lisa") 53 slh = Animal.q .filter(Animal.c.name.like("Santa%")).scalar()53 slh = Animal.query().filter(Animal.c.name.like("Santa%")).first() 54 54 55 55 print homer … … 89 89 objectstore.clear() 90 90 91 articles = Article. select()91 articles = Article.query().all() 92 92 physics = Tag.get_by(name='Physics') 93 93 good = Tag.get_by(name='Good') -
elixir/trunk/tests/test_options.py
r185 r202 28 28 objectstore.clear() 29 29 30 person = Person. select()[0]30 person = Person.query().first() 31 31 person.name = 'Gaetan' 32 32 objectstore.flush() … … 34 34 assert person.row_version == 2 35 35 36 person = Person. select()[0]36 person = Person.query().first() 37 37 person.name = 'Jonathan' 38 38 objectstore.flush() … … 41 41 42 42 # check that a concurrent modification raises exception 43 p1 = Person. select()[0]43 p1 = Person.query().first() 44 44 s1 = objectstore.session 45 45 s2 = create_session() 46 46 objectstore.context.current = s2 47 p2 = Person. select()[0]47 p2 = Person.query().first() 48 48 p1.name = "Daniel" 49 49 p2.name = "Gaetan" -
elixir/trunk/tests/test_order_by.py
r178 r202 65 65 66 66 def test_mapper_order_by(self): 67 records = Record. select()67 records = Record.query().all() 68 68 69 69 print "-year, +title"
