fix storage creation according to new implementation of storage setup with StorageFactory

This commit is contained in:
Helmut Merz 2024-03-09 21:13:01 +01:00
parent 81fef0e1d5
commit 3c82ec9fdc
5 changed files with 14 additions and 27 deletions

View file

@ -12,8 +12,8 @@ class Storage(common.Storage):
uidTable = None
def __init__(self, schema=None):
super(Storage, self).__init__(schema)
def __init__(self, db, schema=None):
super(Storage, self).__init__(db, schema)
self.uidTable = self.getUidTable(self.schema)
def storeUid(self, ouid, prefix, id):

View file

@ -5,12 +5,8 @@
from datetime import datetime
import transaction
import config
import scopes.storage.common
from scopes.storage.common import getEngine, sessionFactory
from scopes.storage import tracking
from loops.config.base import LoopsOptions
from loops.storage.compat.common import Storage
from loops import util
@ -25,12 +21,11 @@ def migrate(loopsRoot, recFolderName, sourceIds=None, factory=tracking.Container
else:
trackIds = sourceIds[start:stop]
options = LoopsOptions(loopsRoot)
#print('*** database:', config.dbname, config.dbuser, config.dbpassword)
schema = options('scopes.storage.schema') or None
if schema is not None:
schema = schema[0]
#print('*** schema:', schema)
storage = Storage(schema=schema)
storage = util.storageFactory(schema=schema)
container = storage.create(factory)
ix = 0
prefix = factory.itemFactory.prefix

View file

@ -4,17 +4,9 @@
"""
import config
import scopes.storage.common
from scopes.storage.common import getEngine, sessionFactory
config.dbname = 'ccotest'
config.dbuser = 'ccotest'
config.dbpassword = 'cco'
engine = getEngine(config.dbengine, config.dbname,
config.dbuser, config.dbpassword,
host=config.dbhost, port=config.dbport)
scopes.storage.common.engine = engine
scopes.storage.common.Session = sessionFactory(engine)
import unittest
from zope import component, interface
@ -26,6 +18,11 @@ from loops.organize.tests import setupObjectsForTesting
from loops.storage.compat.common import Storage
from loops import util
from scopes.storage.db.postgres import StorageFactory
factory = StorageFactory(config, storageClass=Storage)
storage = factory(schema='testing')
class Glob(object):
pass
@ -44,7 +41,7 @@ class TestCase(unittest.TestCase):
loopsId = util.getUidForObject(loopsRoot)
setupData = setupObjectsForTesting(site, g.concepts)
g.johnC = setupData.johnC
g.storage = Storage(schema='testing')
g.storage = storage
@classmethod
def cleanup(cls):

View file

@ -9,7 +9,6 @@ import transaction
from zope import component
from zope.traversing.api import getName
import config
from loops.concept import Concept
from loops.config.base import LoopsOptions
from loops.organize.personal.favorite import Favorites as FavoritesAdapter

14
util.py
View file

@ -22,21 +22,17 @@ try:
except ImportError:
markdown = None
import config
import scopes.storage.common
from scopes.storage.common import Storage, getEngine, sessionFactory
import cybertools
from cybertools.meta.interfaces import IOptions
from loops.browser.util import html_quote
from loops.storage.compat.common import Storage
import config
from scopes.storage.db.postgres import StorageFactory
storageFactory = StorageFactory(config, storageClass=Storage)
_ = MessageFactory('loops')
engine = getEngine(config.dbengine, config.dbname,
config.dbuser, config.dbpassword,
host=config.dbhost, port=config.dbport)
scopes.storage.common.engine = engine
scopes.storage.common.Session = sessionFactory(engine)
renderingFactories = {
'text/plain': 'zope.source.plaintext',
'text/stx': 'zope.source.stx',