src/ztfy/utils/zodb.py
branchZTK-1.1
changeset 170 a08e9a1c5b07
parent 169 b4b587dd45ca
child 171 0e8925323082
equal deleted inserted replaced
169:b4b587dd45ca 170:a08e9a1c5b07
    15 
    15 
    16 __docformat__ = "restructuredtext"
    16 __docformat__ = "restructuredtext"
    17 
    17 
    18 # import standard packages
    18 # import standard packages
    19 from persistent import Persistent
    19 from persistent import Persistent
       
    20 from persistent.interfaces import IPersistent
       
    21 from transaction.interfaces import ITransactionManager
    20 
    22 
    21 # import Zope3 interfaces
    23 # import Zope3 interfaces
    22 from persistent.interfaces import IPersistent
       
    23 from transaction.interfaces import ITransactionManager
       
    24 from ZODB.interfaces import IConnection
    24 from ZODB.interfaces import IConnection
       
    25 from zope.schema.interfaces import IVocabularyFactory
    25 
    26 
    26 # import local interfaces
    27 # import local interfaces
    27 from ztfy.utils.interfaces import IZEOConnection
    28 from ztfy.utils.interfaces import IZEOConnection
    28 
    29 
    29 # import Zope3 packages
    30 # import Zope3 packages
    30 from ZEO import ClientStorage
    31 from ZEO import ClientStorage
    31 from ZODB import DB
    32 from ZODB import DB
    32 from zope.component import adapter
    33 from zope.component import adapter
       
    34 from zope.componentvocabulary.vocabulary import UtilityVocabulary
    33 from zope.container.contained import Contained
    35 from zope.container.contained import Contained
    34 from zope.interface import implementer, implements
    36 from zope.interface import implementer, implements, classProvides
    35 from zope.schema.fieldproperty import FieldProperty
    37 from zope.schema.fieldproperty import FieldProperty
    36 
    38 
    37 # import local packages
    39 # import local packages
    38 
    40 
    39 
    41 
    63 
    65 
    64 class ZEOConnectionUtility(ZEOConnectionInfo, Persistent, Contained):
    66 class ZEOConnectionUtility(ZEOConnectionInfo, Persistent, Contained):
    65     """Persistent ZEO connection settings utility"""
    67     """Persistent ZEO connection settings utility"""
    66 
    68 
    67 
    69 
       
    70 class ZEOConnectionVocabulary(UtilityVocabulary):
       
    71     """ZEO connections vocabulary"""
       
    72 
       
    73     classProvides(IVocabularyFactory)
       
    74 
       
    75     interface = IZEOConnection
       
    76     nameOnly = True
       
    77 
    68 
    78 
    69 # IPersistent adapters copied from zc.twist package
    79 # IPersistent adapters copied from zc.twist package
    70 # also register this for adapting from IConnection
    80 # also register this for adapting from IConnection
    71 @adapter(IPersistent)
    81 @adapter(IPersistent)
    72 @implementer(ITransactionManager)
    82 @implementer(ITransactionManager)