work in progress: storage.folder implementation
This commit is contained in:
		
							parent
							
								
									90da2aafcd
								
							
						
					
					
						commit
						1280f8b15a
					
				
					 3 changed files with 34 additions and 2 deletions
				
			
		|  | @ -15,4 +15,5 @@ def run(app, config): | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     import config |     import config | ||||||
|     run(config.app, config) |     run(config.app, config) | ||||||
| 
 |     #run(config.app_factory(), config) | ||||||
|  |     # see zope.app.wsgi.getWSGIApplication | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								scopes/storage/folder.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								scopes/storage/folder.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | ||||||
|  | # scopes.storage.folder | ||||||
|  | 
 | ||||||
|  | from scopes.storage.common import registerContainerClass | ||||||
|  | from scopes.storage.tracking import Container, Track | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Folder(Track): | ||||||
|  | 
 | ||||||
|  |     headFields = ['parent', 'name'] | ||||||
|  |     prefix = 'fldr' | ||||||
|  | 
 | ||||||
|  |     def keys(self): | ||||||
|  |         return [] | ||||||
|  | 
 | ||||||
|  |     def get(self, key, default=None): | ||||||
|  |         return default | ||||||
|  | 
 | ||||||
|  |     def __getitem__(self, key): | ||||||
|  |         raise KeyError | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @registerContainerClass | ||||||
|  | class Folders(Container): | ||||||
|  | 
 | ||||||
|  |     itemFactory = Folder | ||||||
|  |     indexes = [('parent', 'name')] | ||||||
|  |     tableName = 'folders' | ||||||
|  |     insertOnChange = False | ||||||
|  | @ -9,7 +9,7 @@ import unittest | ||||||
| import scopes.storage.common | import scopes.storage.common | ||||||
| from scopes.storage.common import Storage, getEngine, sessionFactory | from scopes.storage.common import Storage, getEngine, sessionFactory | ||||||
| from scopes.storage import proxy | from scopes.storage import proxy | ||||||
| from scopes.storage import tracking | from scopes.storage import folder, tracking | ||||||
| 
 | 
 | ||||||
| import config | import config | ||||||
| engine = getEngine(config.dbengine, config.dbname, config.dbuser, config.dbpassword) | engine = getEngine(config.dbengine, config.dbname, config.dbuser, config.dbpassword) | ||||||
|  | @ -70,6 +70,9 @@ class Test(unittest.TestCase): | ||||||
| 
 | 
 | ||||||
|         transaction.commit() |         transaction.commit() | ||||||
| 
 | 
 | ||||||
|  |     def testFolder(self): | ||||||
|  |         storage.dropTable('folders') | ||||||
|  |         folders = storage.create(folder.Folders) | ||||||
| 
 | 
 | ||||||
| def suite(): | def suite(): | ||||||
|     return unittest.TestSuite(( |     return unittest.TestSuite(( | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue