本文整理汇总了Python中zope.container.interfaces.INameChooser._findUniqueName方法的典型用法代码示例。如果您正苦于以下问题:Python INameChooser._findUniqueName方法的具体用法?Python INameChooser._findUniqueName怎么用?Python INameChooser._findUniqueName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.container.interfaces.INameChooser
的用法示例。
在下文中一共展示了INameChooser._findUniqueName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handleApply
# 需要导入模块: from zope.container.interfaces import INameChooser [as 别名]
# 或者: from zope.container.interfaces.INameChooser import _findUniqueName [as 别名]
def handleApply(self, action):
data, errors = self.extractData()
if errors:
return
# Context may not be a container, get one.
context_state = getMultiAdapter((self.context, self.request), name="plone_context_state")
container = context_state.folder()
title = data['file'].filename
# Generate a name based on the title..
util = queryUtility(IIDNormalizer)
id = util.normalize(title)
# Make sure our chosen id is unique, iterate until we get one that is.
chooser = INameChooser(container)
id = chooser._findUniqueName(id, None)
# Determine the Content Type
ct_reg = getToolByName(self.context, 'content_type_registry')
typeName = ct_reg.findTypeName(data['file'].filename,
data['file'].contentType,
data['file'].data)
# Really, we want Image if it's an image, and File for everything else...
typeName = 'Image' if typeName == 'Image' else 'File'
# create the object
container.invokeFactory(typeName,
id=id,
title=title,
file=data['file'].data)
# Redirect to the view page.
self.request.response.redirect("%s/view" % container[id].absolute_url())