2008-02-28

interfaces.py

  2008-02-28 09:53

...

### -*- coding: utf-8 -*- #############################################
#######################################################################
"""Интерфейсы для продукта ExtensionSelector

$Id: interfaces.py 49728 2007-12-31 14:52:15Z pitch $
"""

__author__  = "Uzorin, 2007"
__license__ = "GPL"
__version__ = "$Revision: 49728 $"
 
from zope.interface import Interface

from zope.schema import Text, TextLine, Field, Bool, Datetime, Choice
from zope.app.container.interfaces import IContained, IContainer
from zope.app.container.constraints import ItemTypePrecondition
from zope.app.container.constraints import ContainerTypesConstraint
from zope.component.interfaces import IFactory
from zope.schema import Tuple,Object

class IExtensionSelectorDescriptor(Interface) :
    """Описание преобразования имен и выбора фабрик объектов"""

    regexpsrc = TextLine( title=u"Регулярное выражение для разбора исходного имени",
                          description=u"Регулярное выражение для разбора исходного имени",
                          default=u"",
                          required=True)

    regexpname = TextLine( title=u"Регулярное выражение, для разбора имени объекта",
                           description=u"Регулярное выражение, для разбора имени объекта",
                           default=u"",
                           required=True)

    formatname = TextLine( title=u"Форматное выражение для генерации имени объекта",
                           description=u"Форматное выражение, используемое для генерации имени объекта",
                           default=u"",
                           required=True)

    formatsrc = TextLine( title=u"Форматное выражение для генерации исходного имени",
                           description=u"Форматное выражение, используемое для генерации исходного имени",
                           default=u"",
                           required=True)

    factory = Choice(title=u'Фабрика объекта',
                           vocabulary = 'Factorys')

    contenttype = Choice(title=u'Тип содержимого',
                           vocabulary = 'ContentTypes')

class IExtensionSelectorData(Interface) :
    """Extension Selector Options """

    data = Tuple(title=u'Перечень описателей выбора',
                 value_type=Object(
                 title=u'Описатель выбора',
                 schema=IExtensionSelectorDescriptor))

class IExtensionSelector(Interface) :
    """ExtensionSelector Utitllity interface """

    def name2factory(name=TextLine(title=u"Имя по которому подбирается фабрика",required=True)) :
        pass

    def ob2name(ob=Field(title=u'Объект',required=True)) :
        pass
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml