• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.getToolByName函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中utils.getToolByName函数的典型用法代码示例。如果您正苦于以下问题:Python getToolByName函数的具体用法?Python getToolByName怎么用?Python getToolByName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: afterCreate

def afterCreate(ob):
    wf = getToolByName(ob, 'portal_workflow', None)
    if ob is not None:
        wf.notifyCreated(ob)
        catalog = getToolByName(ob, 'portal_catalog', None)
        if catalog is not None:
            catalog.reindexObject(ob)
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:WorkflowCore.py


示例2: updateSkinCookie

    def updateSkinCookie(self):
        '''
        If needed, updates the skin cookie based on the member preference.
        '''
        pm = getToolByName(self, 'portal_membership')
        pu = getToolByName(self, 'portal_url')
        member = pm.getAuthenticatedMember()
        if hasattr(aq_base(member), 'portal_skin'):
            mskin = member.portal_skin
            if mskin:
                req = self.REQUEST
                cookie = req.cookies.get(self.request_varname, None)
                if cookie != mskin:
                    resp = req.RESPONSE

                    portalPath = '/' + pu.getPortalObject().absolute_url(1)

                    if not self.cookie_persistence:
                        # *Don't* make the cookie persistent!
                        resp.setCookie( self.request_varname, mskin, path=portalPath )
                    else:
                        expires = ( DateTime( 'GMT' ) + 365 ).rfc822()
                        resp.setCookie( self.request_varname
                                      , mskin
                                      , path=portalPath
                                      , expires=expires
                                      )
                    # Ensure updateSkinCookie() doesn't try again
                    # within this request.
                    req.cookies[self.request_varname] = mskin
                    req[self.request_varname] = mskin
                    return 1
        return 0
开发者ID:goschtl,项目名称:zope,代码行数:33,代码来源:SkinsTool.py


示例3: __call__

 def __call__(self, instance, *args, **kw):
     '''
     Invokes the method.
     '''
     wf = getToolByName(instance, 'portal_workflow', None)
     if wf is None or not hasattr(wf, 'wrapWorkflowMethod'):
         # No workflow tool found.
         try:
             res = apply(self._m, (instance,) + args, kw)
         except ObjectDeleted, ex:
             res = ex.getResult()
         else:
             catalog = getToolByName(instance, 'portal_catalog', None)
             if catalog is not None:
                 catalog.reindexObject(ob)
开发者ID:goschtl,项目名称:zope,代码行数:15,代码来源:WorkflowCore.py


示例4: searchMemberDataContents

    def searchMemberDataContents( self, search_param, search_term ):
        """ Search members. This method will be deprecated soon. """
        # XXX: this method violates the rules for tools/utilities:
        # it depends on a non-utility tool
        res = []

        if search_param == 'username':
            search_param = 'id'

        mtool   = getToolByName(self, 'portal_membership')

        for member_id in self._members.keys():

            user_wrapper = mtool.getMemberById( member_id )

            if user_wrapper is not None:
                memberProperty = user_wrapper.getProperty
                searched = memberProperty( search_param, None )

                if searched is not None and searched.find(search_term) != -1:

                    res.append( { 'username': memberProperty( 'id' )
                                , 'email' : memberProperty( 'email', '' )
                                }
                            )
        return res
开发者ID:dtgit,项目名称:dtedu,代码行数:26,代码来源:MemberDataTool.py


示例5: reindexObjectSecurity

 def reindexObjectSecurity(self):
     """
         Reindex security-related indexes on the object
         (and its descendants).
     """
     catalog = getToolByName(self, 'portal_catalog', None)
     if catalog is not None:
         path = '/'.join(self.getPhysicalPath())
         for brain in catalog.unrestrictedSearchResults(path=path):
             brain_path = brain.getPath()
             # self is treated at the end of the method
             # Optimization in case of an indexable container
             if brain_path == path:
                 continue
             # Get the object
             if hasattr(aq_base(brain), '_unrestrictedGetObject'):
                 ob = brain._unrestrictedGetObject()
             else:
                 # BBB older Zope
                 ob = self.unrestrictedTraverse(brain_path, None)
             if ob is None:
                 # Ignore old references to deleted objects.
                 LOG('reindexObjectSecurity', PROBLEM,
                     "Cannot get %s from catalog" % brain_path)
                 continue
             s = getattr(ob, '_p_changed', 0)
             catalog.reindexObject(ob, idxs=['allowedRolesAndUsers'],
                                   update_metadata=0)
             if s is None: ob._p_deactivate()
         # Reindex the object itself, as the PathIndex only gave us
         # the descendants.
         catalog.reindexObject(self, idxs=['allowedRolesAndUsers'],
                               update_metadata=0)
开发者ID:goschtl,项目名称:zope,代码行数:33,代码来源:CMFCatalogAware.py


示例6: manage_doCustomize

    def manage_doCustomize(self, folder_path, RESPONSE=None):
        """Makes a ZODB Based clone with the same data.

        Calls _createZODBClone for the actual work.
        """

        obj = self._createZODBClone()
        
        id = obj.getId()
        fpath = tuple(split(folder_path, '/'))
        portal_skins = getToolByName(self,'portal_skins') 
        folder = portal_skins.restrictedTraverse(fpath)

        if id in folder.objectIds():
            # we cant catch the badrequest so
            # we'll that to check before hand, which makes
            # sense anyway...
            obj = folder._getOb(id)
            if RESPONSE is not None:
                RESPONSE.redirect('%s/manage_main?manage_tabs_message=%s' % (
                    obj.absolute_url(), html_quote("An object with this id already exists")
                    ))
        else:
            folder._verifyObjectPaste(obj, validate_src=0)
            folder._setObject(id, obj)

            if RESPONSE is not None:
                RESPONSE.redirect('%s/%s/manage_main' % (
                folder.absolute_url(), id))
开发者ID:goschtl,项目名称:zope,代码行数:29,代码来源:FSObject.py


示例7: manage_addActionForm

def manage_addActionForm(self):
    """Form for adding a new CMF Action object.
    """
    profiles = []

    stool = getToolByName(self, 'portal_setup', None)
    if stool:
        for info in stool.listContextInfos():
            action_paths = []
            context = stool._getImportContext(info['id'])
            body = context.readDataFile('actions.xml')
            if body is None:
                continue
            root = parseString(body).documentElement
            for node in root.childNodes:
                if node.nodeName != 'object':
                    continue
                action_paths += _extractChildren(node)
            action_paths.sort()
            profiles.append({'id': info['id'],
                             'title': info['title'],
                             'action_paths': tuple(action_paths)})

    template = PageTemplateResource('www/addAction.zpt',
                                    globals()).__of__(self)
    return template(profiles=tuple(profiles))
开发者ID:goschtl,项目名称:zope,代码行数:26,代码来源:ActionInformation.py


示例8: _filteredItems

    def _filteredItems( self, ids, filt ):
        """
            Apply filter, a mapping, to child objects indicated by 'ids',
            returning a sequence of ( id, obj ) tuples.
        """
        # Restrict allowed content types
        if filt is None:
            filt = {}
        else:
            # We'll modify it, work on a copy.
            filt = filt.copy()
        pt = filt.get('portal_type', [])
        if type(pt) is type(''):
            pt = [pt]
        types_tool = getToolByName(self, 'portal_types')
        allowed_types = types_tool.listContentTypes()
        if not pt:
            pt = allowed_types
        else:
            pt = [t for t in pt if t in allowed_types]
        if not pt:
            # After filtering, no types remain, so nothing should be
            # returned.
            return []
        filt['portal_type'] = pt

        query = ContentFilter(**filt)
        result = []
        append = result.append
        get = self._getOb
        for id in ids:
            obj = get( id )
            if query(obj):
                append( (id, obj) )
        return result
开发者ID:goschtl,项目名称:zope,代码行数:35,代码来源:PortalFolder.py


示例9: addMember

    def addMember(self, id, password, roles=('Member',), domains='',
                  properties=None):
        '''Creates a PortalMember and returns it. The properties argument
        can be a mapping with additional member properties. Raises an
        exception if the given id already exists, the password does not
        comply with the policy in effect, or the authenticated user is not
        allowed to grant one of the roles listed (where Member is a special
        role that can always be granted); these conditions should be
        detected before the fact so that a cleaner message can be printed.
        '''
        if not self.isMemberIdAllowed(id):
            raise 'Bad Request', 'The login name you selected is already ' \
                  'in use or is not valid. Please choose another.'
        
        failMessage = self.testPasswordValidity(password)
        if failMessage is not None:
            raise 'Bad Request', failMessage

        failMessage = self.testPropertiesValidity(properties)
        if failMessage is not None:
            raise 'Bad Request', failMessage

        # Limit the granted roles.
        # Anyone is always allowed to grant the 'Member' role.
        limitGrantedRoles(roles, self, ('Member',))

        membership = getToolByName(self, 'portal_membership')
        membership.addMember(id, password, roles, domains)
        member = membership.getMemberById(id)
        if properties is not None:
            member.setMemberProperties(properties)

        self.afterAdd(member, id, password, properties)
        return member
开发者ID:goschtl,项目名称:zope,代码行数:34,代码来源:RegistrationTool.py


示例10: createExprContext

def createExprContext(folder, portal, object):
    '''
    An expression context provides names for TALES expressions.
    '''
    pm = getToolByName(portal, 'portal_membership')
    if object is None:
        object_url = ''
    else:
        object_url = object.absolute_url()
    if pm.isAnonymousUser():
        member = None
    else:
        member = pm.getAuthenticatedMember()
    data = {
        'object_url':   object_url,
        'folder_url':   folder.absolute_url(),
        'portal_url':   portal.absolute_url(),
        'object':       object,
        'folder':       folder,
        'portal':       portal,
        'nothing':      None,
        'request':      getattr( object, 'REQUEST', None ),
        'modules':      SecureModuleImporter,
        'member':       member,
        }
    return getEngine().getContext(data)
开发者ID:goschtl,项目名称:zope,代码行数:26,代码来源:Expression.py


示例11: getTypeInfo

 def getTypeInfo(self):
     """ Get the TypeInformation object specified by the portal type.
     """
     tool = getToolByName(self, 'portal_types', None)
     if tool is None:
         return None
     return tool.getTypeInfo(self)  # Can return None.
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:DynamicType.py


示例12: _uuid_unregister

 def _uuid_unregister(self, reference_manager=None):
     """remove all references"""
     if not reference_manager:
         reference_manager = getToolByName(self, REFERENCE_MANAGER, None)
         
     if reference_manager is not None:
         reference_manager.unregisterObject(self)
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:Referenceable.py


示例13: searchMembers

    def searchMembers( self, search_param, search_term ):
        """ Search the membership """
        # XXX: this method violates the rules for tools/utilities:
        # it depends on a non-utility tool
        md = getToolByName( self, 'portal_memberdata' )

        return md.searchMemberData( search_param, search_term )
开发者ID:dtgit,项目名称:dtedu,代码行数:7,代码来源:MembershipTool.py


示例14: reindexObjectSecurity

    def reindexObjectSecurity(self, skip_self=False):
        """Reindex security-related indexes on the object.

        Recurses in the children to reindex them too.

        If skip_self is True, only the children will be reindexed. This
        is a useful optimization if the object itself has just been
        fully reindexed, as there's no need to reindex its security twice.
        """
        catalog = getToolByName(self, 'portal_catalog', None)
        if catalog is None:
            return
        path = '/'.join(self.getPhysicalPath())
        for brain in catalog.unrestrictedSearchResults(path=path):
            brain_path = brain.getPath()
            if brain_path == path and skip_self:
                continue
            # Get the object
            if hasattr(aq_base(brain), '_unrestrictedGetObject'):
                ob = brain._unrestrictedGetObject()
            else:
                # BBB: Zope 2.7
                ob = self.unrestrictedTraverse(brain_path, None)
            if ob is None:
                # BBB: Ignore old references to deleted objects.
                # Can happen only in Zope 2.7, or when using
                # catalog-getObject-raises off in Zope 2.8
                LOG('reindexObjectSecurity', PROBLEM,
                    "Cannot get %s from catalog" % brain_path)
                continue
            # Recatalog with the same catalog uid.
            s = getattr(ob, '_p_changed', 0)
            catalog.reindexObject(ob, idxs=self._cmf_security_indexes,
                                  update_metadata=0, uid=brain_path)
            if s is None: ob._p_deactivate()
开发者ID:goschtl,项目名称:zope,代码行数:35,代码来源:CMFCatalogAware.py


示例15: reindexObjectSecurity

 def reindexObjectSecurity(self, skip_self=False):
     """
         Reindex security-related indexes on the object
         (and its descendants).
     """
     catalog = getToolByName(self, 'portal_catalog', None)
     if catalog is not None:
         path = '/'.join(self.getPhysicalPath())
         for brain in catalog.unrestrictedSearchResults(path=path):
             brain_path = brain.getPath()
             # self is treated at the end of the method
             # Optimization in case of an indexable container
             if brain_path == path:
                 continue
             # Get the object
             ob = brain._unrestrictedGetObject()
             if ob is None:
                 # Ignore old references to deleted objects.
                 LOG('reindexObjectSecurity', PROBLEM,
                     "Cannot get %s from catalog" % brain_path)
                 continue
             s = getattr(ob, '_p_changed', 0)
             catalog.reindexObject(ob, idxs=self._cmf_security_indexes,
                                   update_metadata=0)
             if s is None: ob._p_deactivate()
         # Reindex the object itself in here if not explicitly
         # asked to not to
         if not skip_self:
             catalog.reindexObject(self, idxs=self._cmf_security_indexes,
                                   update_metadata=0)
开发者ID:goschtl,项目名称:zope,代码行数:30,代码来源:CMFCatalogAware.py


示例16: getDefaultChainFor

    def getDefaultChainFor(self, ob):
        types_tool = getToolByName( self, 'portal_types', None )
        if ( types_tool is not None
            and types_tool.getTypeInfo( ob ) is not None ):
            return self._default_chain

        return ()
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:WorkflowTool.py


示例17: invokeFactory

 def invokeFactory(self, type_name, id, RESPONSE=None, *args, **kw):
     '''
     Invokes the portal_types tool.
     '''
     pt = getToolByName(self, 'portal_types')
     apply(pt.constructContent, (type_name, self, id, RESPONSE) + args,
           kw)
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:PortalFolder.py


示例18: searchMemberData

    def searchMemberData(self, search_param, search_term, attributes=()):
        """ Search members. """
        res = []

        if not search_param:
            return res

        membership = getToolByName(self, 'portal_membership')

        if len(attributes) == 0:
            attributes = ('id', 'email')

        if search_param == 'username':
            search_param = 'id'

        for user_id in self._members.keys():
            u = membership.getMemberById(user_id)

            if u is not None:
                memberProperty = u.getProperty
                searched = memberProperty(search_param, None)

                if searched is not None and searched.find(search_term) != -1:
                    user_data = {}

                    for desired in attributes:
                        if desired == 'id':
                            user_data['username'] = memberProperty(desired, '')
                        else:
                            user_data[desired] = memberProperty(desired, '')

                    res.append(user_data)

        return res
开发者ID:goschtl,项目名称:zope,代码行数:34,代码来源:MemberDataTool.py


示例19: _getProfileInfo

def _getProfileInfo(dispatcher, meta_type):
    profiles = []
    stool = getToolByName(dispatcher, 'portal_setup', None)
    if stool:
        for info in stool.listContextInfos():
            type_ids = []
            context = stool._getImportContext(info['id'])
            filenames = context.listDirectory('types')
            if filenames is None:
                continue
            for filename in filenames:
                body = context.readDataFile(filename, subdir='types')
                if body is None:
                    continue
                root = parseString(body).documentElement
                if root.getAttribute('meta_type') == meta_type:
                    type_id = root.getAttribute('name')
                    type_ids.append(type_id)
            if not type_ids:
                continue
            type_ids.sort()
            profiles.append({'id': info['id'],
                             'title': info['title'],
                             'type_ids': tuple(type_ids)})
    return tuple(profiles)
开发者ID:goschtl,项目名称:zope,代码行数:25,代码来源:TypesTool.py


示例20: getBRefs

 def getBRefs(self, relationship=None):
     """get all the back referenced objects for this object"""
     tool = getToolByName(self, REFERENCE_MANAGER)
     refs = tool.getBackReferences(self, relationship)
     if refs:
         return [ref.getSourceObject() for ref in refs]
     return []
开发者ID:goschtl,项目名称:zope,代码行数:7,代码来源:Referenceable.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.getUserId函数代码示例发布时间:2022-05-26
下一篇:
Python utils.getString函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap