work in progress: storage.folder implementation

This commit is contained in:
Helmut Merz 2024-02-26 09:22:27 +01:00
parent 90da2aafcd
commit 1280f8b15a
3 changed files with 34 additions and 2 deletions

View file

@ -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
View 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

View file

@ -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((