provide mark_changed() and commit() as Storage methods
This commit is contained in:
		
							parent
							
								
									e3bb5b2880
								
							
						
					
					
						commit
						9e67fe08e6
					
				
					 4 changed files with 11 additions and 6 deletions
				
			
		|  | @ -53,6 +53,12 @@ class Storage(object): | ||||||
|         self.metadata = MetaData(schema=schema) |         self.metadata = MetaData(schema=schema) | ||||||
|         self.containers = {} |         self.containers = {} | ||||||
| 
 | 
 | ||||||
|  |     def commit(self): | ||||||
|  |         self.db.commit(self.session) | ||||||
|  | 
 | ||||||
|  |     def mark_changed(self): | ||||||
|  |         self.db.mark_changed(self.session) | ||||||
|  | 
 | ||||||
|     def create(self, cls): |     def create(self, cls): | ||||||
|         container = cls(self) |         container = cls(self) | ||||||
|         self.add(container) |         self.add(container) | ||||||
|  |  | ||||||
|  | @ -113,7 +113,7 @@ class Container(object): | ||||||
|         values = self.setupValues(track, withTrackId) |         values = self.setupValues(track, withTrackId) | ||||||
|         stmt = t.insert().values(**values).returning(t.c.trackid) |         stmt = t.insert().values(**values).returning(t.c.trackid) | ||||||
|         trackId = self.session.execute(stmt).first()[0] |         trackId = self.session.execute(stmt).first()[0] | ||||||
|         self.db.mark_changed(self.session) |         self.storage.mark_changed() | ||||||
|         return trackId |         return trackId | ||||||
| 
 | 
 | ||||||
|     def update(self, track): |     def update(self, track): | ||||||
|  | @ -124,7 +124,7 @@ class Container(object): | ||||||
|         stmt = t.update().values(**values).where(t.c.trackid == track.trackId) |         stmt = t.update().values(**values).where(t.c.trackid == track.trackId) | ||||||
|         n = self.session.execute(stmt).rowcount |         n = self.session.execute(stmt).rowcount | ||||||
|         if n > 0: |         if n > 0: | ||||||
|             self.db.mark_changed(self.session) |             self.storage.mark_changed() | ||||||
|         return n |         return n | ||||||
| 
 | 
 | ||||||
|     def upsert(self, track): |     def upsert(self, track): | ||||||
|  | @ -142,7 +142,7 @@ class Container(object): | ||||||
|         stmt = self.table.delete().where(self.table.c.trackid == trackId) |         stmt = self.table.delete().where(self.table.c.trackid == trackId) | ||||||
|         n = self.session.execute(stmt).rowcount |         n = self.session.execute(stmt).rowcount | ||||||
|         if n > 0: |         if n > 0: | ||||||
|             self.db.mark_changed(self.session) |             self.storage.mark_changed() | ||||||
|         return n |         return n | ||||||
| 
 | 
 | ||||||
|     def makeTrack(self, r): |     def makeTrack(self, r): | ||||||
|  |  | ||||||
|  | @ -9,7 +9,6 @@ config.dbengine = 'postgresql+psycopg' | ||||||
| config.dbname = 'testdb' | config.dbname = 'testdb' | ||||||
| config.dbuser = 'testuser' | config.dbuser = 'testuser' | ||||||
| config.dbpassword = 'secret' | config.dbpassword = 'secret' | ||||||
| config.dbschema = 'testing' |  | ||||||
| 
 | 
 | ||||||
| # PostgreSQL-specific settings | # PostgreSQL-specific settings | ||||||
| from scopes.storage.db.postgres import StorageFactory  | from scopes.storage.db.postgres import StorageFactory  | ||||||
|  |  | ||||||
|  | @ -50,7 +50,7 @@ def test_tracking(self, storage): | ||||||
|         self.assertEqual(n, 1) |         self.assertEqual(n, 1) | ||||||
|         self.assertEqual(tracks.get(31), None) |         self.assertEqual(tracks.get(31), None) | ||||||
| 
 | 
 | ||||||
|         storage.db.commit(storage.session) |         storage.commit() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def test_folder(self, storage): | def test_folder(self, storage): | ||||||
|  | @ -66,5 +66,5 @@ def test_folder(self, storage): | ||||||
|         self.assertEqual(ch1.parent, top.rid) |         self.assertEqual(ch1.parent, top.rid) | ||||||
|         self.assertEqual(list(top.keys()), ['child1']) |         self.assertEqual(list(top.keys()), ['child1']) | ||||||
| 
 | 
 | ||||||
|         storage.db.commit(storage.session) |         storage.commit() | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue