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__':
import 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
from scopes.storage.common import Storage, getEngine, sessionFactory
from scopes.storage import proxy
from scopes.storage import tracking
from scopes.storage import folder, tracking
import config
engine = getEngine(config.dbengine, config.dbname, config.dbuser, config.dbpassword)
@ -70,6 +70,9 @@ class Test(unittest.TestCase):
transaction.commit()
def testFolder(self):
storage.dropTable('folders')
folders = storage.create(folder.Folders)
def suite():
return unittest.TestSuite((