use new py-scopes package instead of cco.storage
This commit is contained in:
parent
92bc00e134
commit
a739aed66a
8 changed files with 23 additions and 24 deletions
|
@ -59,7 +59,7 @@ class PortletConfigurator(ViewConfigurator):
|
||||||
return getPersonForUser(self.context, self.request)
|
return getPersonForUser(self.context, self.request)
|
||||||
|
|
||||||
def hasFavorites(self):
|
def hasFavorites(self):
|
||||||
if 'favorites' in (self.view.globalOptions.cco.storage.records or []):
|
if 'favorites' in (self.view.globalOptions.scopes.storage.records or []):
|
||||||
return True
|
return True
|
||||||
if self.records is not None:
|
if self.records is not None:
|
||||||
return 'favorites' in self.records
|
return 'favorites' in self.records
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
"""SQL-based storage for personal favorites and settings."""
|
"""SQL-based storage for personal favorites and settings."""
|
||||||
|
|
||||||
from cco.storage.common import registerContainerClass
|
from scopes.storage.common import registerContainerClass
|
||||||
from loops.organize.personal.favorite import BaseFavorite
|
from loops.organize.personal.favorite import BaseFavorite
|
||||||
from loops.storage.compat import tracking
|
from loops.storage.compat import tracking
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# loops.storage.compat.common
|
# loops.storage.compat.common
|
||||||
|
|
||||||
"""Compatibility layer on cco.storage: common functionality."""
|
"""Compatibility layer on scopes.storage: common functionality."""
|
||||||
|
|
||||||
from sqlalchemy import Table, Column, BigInteger, Text
|
from sqlalchemy import Table, Column, BigInteger, Text
|
||||||
from zope.sqlalchemy import mark_changed
|
from zope.sqlalchemy import mark_changed
|
||||||
|
|
||||||
from cco.storage import common
|
from scopes.storage import common
|
||||||
|
|
||||||
|
|
||||||
class Storage(common.Storage):
|
class Storage(common.Storage):
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# loops.storage.compat.tracking
|
# loops.storage.compat.tracking
|
||||||
|
|
||||||
"""loops compatibility layer on cco.storage.tracking.
|
"""loops compatibility layer on scopes.storage.tracking.
|
||||||
|
|
||||||
Provides a Container subclass that defines methods from cybertools...TrackingStorage
|
Provides a Container subclass that defines methods from cybertools...TrackingStorage
|
||||||
used by code based on loops.organize.tracking.
|
used by code based on loops.organize.tracking.
|
||||||
|
@ -8,7 +8,7 @@ used by code based on loops.organize.tracking.
|
||||||
|
|
||||||
from zope.interface import implementer
|
from zope.interface import implementer
|
||||||
|
|
||||||
from cco.storage import tracking
|
from scopes.storage import tracking
|
||||||
from loops.util import IUid
|
from loops.util import IUid
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@ from datetime import datetime
|
||||||
import transaction
|
import transaction
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import cco.storage.common
|
import scopes.storage.common
|
||||||
from cco.storage.common import getEngine, sessionFactory
|
from scopes.storage.common import getEngine, sessionFactory
|
||||||
from cco.storage import tracking
|
from scopes.storage import tracking
|
||||||
from loops.config.base import LoopsOptions
|
from loops.config.base import LoopsOptions
|
||||||
from loops.storage.compat.common import Storage
|
from loops.storage.compat.common import Storage
|
||||||
from loops import util
|
from loops import util
|
||||||
|
@ -26,7 +26,7 @@ def migrate(loopsRoot, source, factory=tracking.Container,
|
||||||
items = [(s.__name__, s) for s in source[start:stop]]
|
items = [(s.__name__, s) for s in source[start:stop]]
|
||||||
options = LoopsOptions(loopsRoot)
|
options = LoopsOptions(loopsRoot)
|
||||||
#print('*** database:', config.dbname, config.dbuser, config.dbpassword)
|
#print('*** database:', config.dbname, config.dbuser, config.dbpassword)
|
||||||
schema = options('cco.storage.schema') or None
|
schema = options('scopes.storage.schema') or None
|
||||||
if schema is not None:
|
if schema is not None:
|
||||||
schema = schema[0]
|
schema = schema[0]
|
||||||
#print('*** schema:', schema)
|
#print('*** schema:', schema)
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import cco.storage.common
|
import scopes.storage.common
|
||||||
from cco.storage.common import getEngine, sessionFactory
|
from scopes.storage.common import getEngine, sessionFactory
|
||||||
|
|
||||||
config.dbname = 'ccotest'
|
config.dbname = 'ccotest'
|
||||||
config.dbuser = 'ccotest'
|
config.dbuser = 'ccotest'
|
||||||
|
@ -13,15 +13,13 @@ config.dbpassword = 'cco'
|
||||||
engine = getEngine(config.dbengine, config.dbname,
|
engine = getEngine(config.dbengine, config.dbname,
|
||||||
config.dbuser, config.dbpassword,
|
config.dbuser, config.dbpassword,
|
||||||
host=config.dbhost, port=config.dbport)
|
host=config.dbhost, port=config.dbport)
|
||||||
cco.storage.common.engine = engine
|
scopes.storage.common.engine = engine
|
||||||
cco.storage.common.Session = sessionFactory(engine)
|
scopes.storage.common.Session = sessionFactory(engine)
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
from zope import component, interface
|
from zope import component, interface
|
||||||
from zope.app.testing.setup import placefulSetUp, placefulTearDown
|
from zope.app.testing.setup import placefulSetUp, placefulTearDown
|
||||||
|
|
||||||
import cco.storage.common
|
|
||||||
from cco.storage.common import getEngine, sessionFactory
|
|
||||||
from loops.expert.testsetup import TestSite
|
from loops.expert.testsetup import TestSite
|
||||||
from loops.organize.personal.setup import SetupManager
|
from loops.organize.personal.setup import SetupManager
|
||||||
from loops.organize.tests import setupObjectsForTesting
|
from loops.organize.tests import setupObjectsForTesting
|
||||||
|
|
|
@ -39,8 +39,9 @@ class TestStorage(common.TestCase):
|
||||||
def test_fav_002_migration(self):
|
def test_fav_002_migration(self):
|
||||||
self.assertEqual(config.dbname, 'ccotest')
|
self.assertEqual(config.dbname, 'ccotest')
|
||||||
self.assertEqual(config.dbuser, 'ccotest')
|
self.assertEqual(config.dbuser, 'ccotest')
|
||||||
LoopsOptions(self.loopsRoot).set('cco.storage.schema', ['testing'])
|
LoopsOptions(self.loopsRoot).set('scopes.storage.schema', ['testing'])
|
||||||
self.assertEqual(LoopsOptions(self.loopsRoot)('cco.storage.schema'), ['testing'])
|
self.assertEqual(LoopsOptions(self.loopsRoot)('scopes.storage.schema'),
|
||||||
|
['testing'])
|
||||||
migrate(self.loopsRoot, 'favorites', factory=Favorites)
|
migrate(self.loopsRoot, 'favorites', factory=Favorites)
|
||||||
self.g.favorites = favorites = self.g.storage.create(Favorites)
|
self.g.favorites = favorites = self.g.storage.create(Favorites)
|
||||||
fav = favorites.get(1)
|
fav = favorites.get(1)
|
||||||
|
|
12
util.py
12
util.py
|
@ -23,8 +23,8 @@ except ImportError:
|
||||||
markdown = None
|
markdown = None
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import cco.storage.common
|
import scopes.storage.common
|
||||||
from cco.storage.common import Storage, getEngine, sessionFactory
|
from scopes.storage.common import Storage, getEngine, sessionFactory
|
||||||
import cybertools
|
import cybertools
|
||||||
from cybertools.meta.interfaces import IOptions
|
from cybertools.meta.interfaces import IOptions
|
||||||
from loops.browser.util import html_quote
|
from loops.browser.util import html_quote
|
||||||
|
@ -34,8 +34,8 @@ _ = MessageFactory('loops')
|
||||||
engine = getEngine(config.dbengine, config.dbname,
|
engine = getEngine(config.dbengine, config.dbname,
|
||||||
config.dbuser, config.dbpassword,
|
config.dbuser, config.dbpassword,
|
||||||
host=config.dbhost, port=config.dbport)
|
host=config.dbhost, port=config.dbport)
|
||||||
cco.storage.common.engine = engine
|
scopes.storage.common.engine = engine
|
||||||
cco.storage.common.Session = sessionFactory(engine)
|
scopes.storage.common.Session = sessionFactory(engine)
|
||||||
|
|
||||||
renderingFactories = {
|
renderingFactories = {
|
||||||
'text/plain': 'zope.source.plaintext',
|
'text/plain': 'zope.source.plaintext',
|
||||||
|
@ -130,8 +130,8 @@ def reindex(obj, catalog=None):
|
||||||
def records(context, name, factory):
|
def records(context, name, factory):
|
||||||
root = context.getLoopsRoot()
|
root = context.getLoopsRoot()
|
||||||
opts = IOptions(root)
|
opts = IOptions(root)
|
||||||
if name in (opts.cco.storage.records or []):
|
if name in (opts.scopes.storage.records or []):
|
||||||
schema = (opts.cco.storage.schema or [None])[0]
|
schema = (opts.scopes.storage.schema or [None])[0]
|
||||||
storage = Storage(schema=schema)
|
storage = Storage(schema=schema)
|
||||||
cont = storage.create(factory)
|
cont = storage.create(factory)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Reference in a new issue