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)



