当前位置: 首页>>代码示例>>Python>>正文


Python INameChooser.chooseName方法代码示例

本文整理汇总了Python中zope.app.container.interfaces.INameChooser.chooseName方法的典型用法代码示例。如果您正苦于以下问题:Python INameChooser.chooseName方法的具体用法?Python INameChooser.chooseName怎么用?Python INameChooser.chooseName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zope.app.container.interfaces.INameChooser的用法示例。


在下文中一共展示了INameChooser.chooseName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: add

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
    def add(self, content):
        """See zope.app.container.interfaces.IAdding
        """
        container = self.context
        name = self.contentName
        chooser = INameChooser(container)

        # check precondition
        checkObject(container, name, content)

        if IContainerNamesContainer.providedBy(container):
            # The container picks it's own names.
            # We need to ask it to pick one.
            name = chooser.chooseName(self.contentName or '', content)
        else:
            request = self.request
            name = request.get('add_input_name', name)

            if name is None:
                name = chooser.chooseName(self.contentName or '', content)
            elif name == '':
                name = chooser.chooseName('', content)
            else:
                # Invoke the name chooser even when we have a
                # name. It'll do useful things with it like converting
                # the incoming unicode to an ASCII string.
                name = chooser.chooseName(name, container)
        
        content.id = name
        container._setObject(name, content)
        self.contentName = name # Set the added object Name
        return container._getOb(name)
开发者ID:goschtl,项目名称:zope,代码行数:34,代码来源:adding.py

示例2: addEventsAndNewsPortlets

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def addEventsAndNewsPortlets(self):
    """ """
    parent = getParent(self)
    obj = getattr(parent, 'oshnetwork')
    column = getUtility(IPortletManager, name='plone.leftcolumn')
    manager = getMultiAdapter((obj, column,), IPortletAssignmentMapping)
    assignment = events.Assignment()
    chooser = INameChooser(manager)
    manager[chooser.chooseName(None, assignment)] = assignment

    column = getUtility(IPortletManager, name='plone.rightcolumn')
    manager = getMultiAdapter((obj, column,), IPortletAssignmentMapping)
    assignment = news.Assignment()
    chooser = INameChooser(manager)
    manager[chooser.chooseName(None, assignment)] = assignment
开发者ID:EU-OSHA,项目名称:osha.theme,代码行数:17,代码来源:create_oshnetwork.py

示例3: __call__

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
    def __call__(self):
        request = self.request
        container = self.context.context
        image = request.form.get('file', '')

        if not image:
            return encoder.encode({'success': False, 'message': '', 'error': 'No image provided'})
        name = os.path.split(image.filename)[-1]

        image = FileData(image)

        chooser = INameChooser(container)

        content = Image()

        name = chooser.chooseName(name, content)
        event.notify(ObjectCreatedEvent(content))
        container[name] = content
        try:
            content.data = image
        except NotAllowedFileType:
            transaction.abort()
            return encoder.encode({'success': False, 'message': '', 'error': 'File is not image'})
        return encoder.encode(
            {'success': True, 'message': '', 'file': name})
开发者ID:Zojax,项目名称:zojax.content.attachment,代码行数:27,代码来源:jsapi.py

示例4: drop

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
    def drop(self, mail):
        """ drop a mail into this mail box. The mail is
        a string with the complete email content """
        
        # code unicode to utf-8
        if isinstance(mail,unicode):
            mail = mail.encode( 'utf-8' )
        type = 'Email'
        format = 'text/plain'
        content_type='text/plain'

        #generate title
        mailobj = email.message_from_string(mail)
        # Subject
        for key in "Subject subject Betreff betreff".split():
            subject = mailobj.get(key)
            if subject:
                subject = self.decodeheader(subject)
                break

        id = subject or DEFAULT_ID
        title = id

        # generate id
        normalizer = component.getUtility(IIDNormalizer)
        chooser = INameChooser(self.context)
        id = chooser.chooseName(normalizer.normalize(id), aq_base(self.context))

        self.context.invokeFactory(type ,id=id , title=title, format=format, \
                                   content_type=content_type, file=mail)
        getattr(self.context, id, None).setContentType(content_type)
        getattr(self.context, id, None).processForm()
        notify(MailDroppedEvent(getattr(self.context, id, None), self.context))
开发者ID:Goldmund-Wyldebeast-Wunderliebe,项目名称:mailtoplone.base,代码行数:35,代码来源:adapter.py

示例5: install_plone3_portlets

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def install_plone3_portlets(self):
    """Adds the discountable portlet to the root of the site
    so that it shows up on discountable items
    """
    if not HAS_PLONE30:
        return

    # Do the imports here, as we only need them here and this only
    # gets run on Plone 3.0.
    from zope.app.container.interfaces import INameChooser
    from zope.component import getUtility, getMultiAdapter
    from plone.portlets.interfaces import IPortletManager, IPortletAssignmentMapping
    from getpaid.discount.browser.portlets import portlets30

    # Get some definitions.
    portal = self.portal_url.getPortalObject()
    column = getUtility(IPortletManager, name="plone.rightcolumn", context=portal)
    manager = getMultiAdapter((portal, column), IPortletAssignmentMapping)
    portletnames = [v.title for v in manager.values()]
    chooser = INameChooser(manager)

    assignments = [
        portlets30.DiscountableAssignment(),
        portlets30.BuyXGetXfreeableAssignment(),
        ]

    for assignment in assignments:
        title = assignment.title
        if title not in portletnames:
            manager[chooser.chooseName(title, assignment)] = assignment
开发者ID:collective,项目名称:getpaid.discount,代码行数:32,代码来源:setuphandlers.py

示例6: addObject

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
 def addObject(self,id_obs_value, what_is_that=None):
     try:
         flatten = getUtility(IQreatureUtility, name="Flatten")
         id_obs_value_list = [i for i in flatten(id_obs_value)]
         if len(id_obs_value_list) == 3:
             value = id_obs_value_list[2]
         elif len(id_obs_value_list) == 6:
             value = [id_obs_value_list[2],id_obs_value_list[5]]
         else:
             return -1
         answer_id = int(id_obs_value_list[0])
         ob = id_obs_value_list[1]
         quiz = removeSecurityProxy(self.context)
         sm = quiz.getSiteManager()
         answer = removeSecurityProxy(sm['intids'].getObject(int(answer_id)))
         notify(CachedObjectChangedEvent([answer]))
         TYPE_OBJECT_MAP = {'lead':AnswerLeads,'depend':AnswerDepends, 'value':AnswerValue}
         if type(value) == type([]):
             ob = TYPE_OBJECT_MAP[ob](int(value[0]),int(value[1]))
         elif ob == 'value' or ob ==u'value':
             ob = TYPE_OBJECT_MAP[ob](unicode(value))
         else:
             ob = TYPE_OBJECT_MAP[ob](int(value))
         notify(ObjectCreatedEvent(ob))
         chooser = INameChooser(answer)
         name = chooser.chooseName(None, ob)
         
         if chooser.checkName(name, ob):
             answer[name] = ob
         else:
             return (0-1)
         return IAsyncDataManager(answer[name]).addSelf()
     except:
         return (0-1)
开发者ID:HengeSense,项目名称:Qreature,代码行数:36,代码来源:async.py

示例7: new_user

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def new_user(principal, event):
    """Initialise the dashboard for a new user
    """
    principal = IEduMember(principal)
    #defaults = IDefaultDashboard(principal, None)
    defaults = DefaultDashboard()
    if defaults is None:
        return
    
    userid = principal.getId()
    portlets = defaults()
    for name in ('plone.dashboard1', 'plone.dashboard2', 'plone.dashboard3', 'plone.dashboard4'):
        assignments = portlets.get(name)
        if assignments:
            column = queryUtility(IPortletManager, name=name)
            if column is not None:
                category = column.get(USER_CATEGORY, None)
                if category is not None:
                    manager = category.get(userid, None)
                    if manager is None:
                        manager = category[userid] = UserPortletAssignmentMapping()
                    chooser = INameChooser(manager)
            
                    for assignment in assignments:
                        manager[chooser.chooseName(None, assignment)] = assignment
开发者ID:iservicesmx,项目名称:eduintelligent-LCMS,代码行数:27,代码来源:newdashboard.py

示例8: setUp

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
 def setUp(self):
     """
     """
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     self.markRequestWithLayer()
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     self.browser.addHeader('Authorization', 'Basic %s:%s' % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD,))
     #Create some rules
     for x in ["first", "second", "third"]:
         #set some rules
         rule = Rule()
         rule.event = IObjectAddedEvent
         rule.title = "%s rule" % x
         #add the rules to rule's storage
         storage = getUtility(IRuleStorage)
         chooser = INameChooser(storage)
         storage[chooser.chooseName(None, rule)] = rule
         #set the action and add it to the rule
         action = MailSubscriptionsAction()
         action.subject = "Test %s action subject" % x
         rule.actions.append(action)
         email1 = "[email protected]"
         email2 = "[email protected]"
         self.tool.registerUser(action.actionUID, email1)
         self.tool.registerUser(action.actionUID, email2)
     transaction.commit()
开发者ID:RedTurtle,项目名称:collective.contentrules.subscription,代码行数:32,代码来源:test_controlpanel.py

示例9: create

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
 def create(self, data):
     chooser = INameChooser(self.container)
     obj = self.factory(id=u"temporary")
     utils.applyChanges(obj.__of__(self.container), self.form_fields, data)
     oid = chooser.chooseName(obj.title, obj)
     obj.id = oid
     return obj
开发者ID:trollfot,项目名称:spear.content,代码行数:9,代码来源:forms.py

示例10: assignStackerRelatedPortlet

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def assignStackerRelatedPortlet(portal):
    from ubify.policy.config import list_of_portletmanagers_for_stackerportlet_assignment,cynin_desktop_left_column_text
    static_portlet_text = cynin_desktop_left_column_text
    
    #static_portlet_nav_url = portal.absolute_url() + "/stacker-badge"
    #static_portlet_text = static_portlet_text % (static_portlet_nav_url)
    
    from plone.portlet.static import static
    assignments = (
                    static.Assignment(header='cyn.in Desktop',text=static_portlet_text,omit_border=True),
                  )
    
    for name in list_of_portletmanagers_for_stackerportlet_assignment:
        if assignments:
            try:
                portletManager = getUtility(IPortletManager, name=name)
            except ComponentLookupError:
                sm = getSiteManager(portal)
                objportletManager = PortletManager()                
                    
                sm.registerUtility(component=objportletManager,
                                   provided=IPortletManager,
                                   name = name)        
                portletManager = getUtility(IPortletManager, name=name) 
                
            assignable = getMultiAdapter((portal, portletManager,), ILocalPortletAssignmentManager)
            manager = getMultiAdapter((portal, portletManager), IPortletAssignmentMapping)
            
            if portletManager is not None:            
                chooser = INameChooser(manager)
                for assignment in assignments:
                    strtitle = assignment.title.lower()
                    strtitle = strtitle.replace(' ','-')
                    if manager.has_key(strtitle) == 0:
                        manager[chooser.chooseName(None, assignment)] = assignment
开发者ID:Cenditel,项目名称:cenditel.comunidades.cynin,代码行数:37,代码来源:onetimeinstall.py

示例11: get_id_from_filename

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def get_id_from_filename(filename, context):
    charset = context.getCharset()
    id = filename.decode(charset).rsplit('.', 1)
    normalizer = component.getUtility(IIDNormalizer)
    chooser = INameChooser(context)
    newid = '.'.join((normalizer.normalize(id[0]), id[1]))
    newid = newid.replace('_','-').replace(' ','-').lower()
    return chooser.chooseName(newid, context)
开发者ID:witsch,项目名称:collective.quickupload,代码行数:10,代码来源:uploadcapable.py

示例12: createClassicPortletWithCountryDropdown

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def createClassicPortletWithCountryDropdown(self):
    """ """
    parent = getParent(self)
    obj = getattr(parent, 'oshnetwork')
    column = getUtility(IPortletManager, name='plone.leftcolumn')
    manager = getMultiAdapter((obj, column,), IPortletAssignmentMapping)
    assignment = classic.Assignment(template='oshnetwork_country_select',
                                    macro='portlet')
    chooser = INameChooser(manager)
    manager[chooser.chooseName(None, assignment)] = assignment
开发者ID:EU-OSHA,项目名称:osha.theme,代码行数:12,代码来源:create_oshnetwork.py

示例13: get_id_from_filename

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def get_id_from_filename(filename, context):
    charset = context.getCharset()
    id = filename.decode(charset).rsplit('.', 1)
    if len(id) != 2:
        raise MissingExtension('It seems like the file extension is missing.')
    normalizer = component.getUtility(IIDNormalizer)
    chooser = INameChooser(context)
    newid = '.'.join((normalizer.normalize(id[0]), id[1]))
    newid = newid.replace('_','-').replace(' ','-').lower()
    return chooser.chooseName(newid, context)
开发者ID:redomino,项目名称:collective.quickupload,代码行数:12,代码来源:uploadcapable.py

示例14: addExternalPortlet

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
def addExternalPortlet(self):
    """ """
    parent = getParent(self)
    obj = getattr(parent, 'oshnetwork')
    column = getUtility(IPortletManager, name='plone.rightcolumn')
    manager = getMultiAdapter((obj, column,), IPortletAssignmentMapping)
    assignment = classic.Assignment(template='oshnetwork_external_links_portlet',
                                    macro='portlet')
    chooser = INameChooser(manager)
    manager[chooser.chooseName(None, assignment)] = assignment
开发者ID:EU-OSHA,项目名称:osha.theme,代码行数:12,代码来源:create_oshnetwork.py

示例15: __call__

# 需要导入模块: from zope.app.container.interfaces import INameChooser [as 别名]
# 或者: from zope.app.container.interfaces.INameChooser import chooseName [as 别名]
    def __call__(self, filename, title, description, content_type, data, portal_type):
        context = aq_inner(self.context)
        error = ''
        result = {}
        result['success'] = None
        newid = get_id_from_filename(filename, context)
        chooser = INameChooser(context)
        newid = chooser.chooseName(newid, context)
        # consolidation because it's different upon Plone versions
        if not title :
            # try to split filenames because we don't want
            # big titles without spaces
            title = filename.rsplit('.', 1)[0].replace('_',' ').replace('-',' ')

        if newid in context:
            # only here for flashupload method since a check_id is done
            # in standard uploader - see also XXX in quick_upload.py
            raise NameError, 'Object id %s already exists' %newid
        else :
            upload_lock.acquire()
            try:
                transaction.begin()
                try:
                    context.invokeFactory(type_name=portal_type, id=newid,
                                          title=title, description=description)
                except Unauthorized :
                    error = u'serverErrorNoPermission'
                except ConflictError :
                    # rare with xhr upload / happens sometimes with flashupload
                    error = u'serverErrorZODBConflict'
                except ValueError:
                    error = u'serverErrorDisallowedType'
                except Exception, e:
                    error = u'serverError'
                    logger.exception(e)

                if error:
                    if error == u'serverError':
                        logger.info("An error happens with setId from filename, "
                                    "the file has been created with a bad id, "
                                    "can't find %s", newid)
                else:
                    obj = getattr(context, newid)
                    if obj:
                        error = IQuickUploadFileSetter(obj).set(data, filename, content_type)
                        obj._at_rename_after_creation = False
                        try:
                            obj.processForm()
                        except AttributeError:
                            pass
                        del obj._at_rename_after_creation

                #@TODO : rollback if there has been an error
                transaction.commit()
            finally:
开发者ID:ixds,项目名称:collective.quickupload,代码行数:57,代码来源:uploadcapable.py


注:本文中的zope.app.container.interfaces.INameChooser.chooseName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。