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