2008-01-11

namechooserrevert.py

  2008-01-11 19:22

...

"""
$Id: namechooserrevert.py 13071 2007-11-14 10:04:45Z corbeau $
"""
from zope.interface import implements
from zope.app.container.contained import NameChooser
from zope.app.container.interfaces import INameChooser
from zope.app.container.interfaces import IContainer
import zope.component
from namechooseritem.interfaces import INameChooserItem
from zope.exceptions.interfaces import DuplicationError, UserError

class NameChooserAdapter(object):

    zope.component.adapts(IContainer)
    zope.interface.implements(INameChooser)

    def __init__(self, container):
        self.container = container
    
    def chooseName(self, name, ob):
        return INameChooserItem(ob).chooseName(name, self.container)

    def checkName(self, name, content):
        if not bool(name) :
            raise UserError(u"Empty name not possible")
        elif name  in self.container :
            raise UserError(u"The given name is already being used")


class NameChooserAdapterNG(NameChooser) :
    zope.component.adapts(IContainer)
    zope.interface.implements(INameChooser)

    def chooseName(self, name, ob) :
        super(NameChooserAdapter,self).chooseName(
            INameChooserItem(ob).chooseName(name,context),
            ob)
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml