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

Python component.getMultiAdapter函数代码示例

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

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



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

示例1: testExecuteCountMinMax

 def testExecuteCountMinMax(self):
     e = ChildCondition()
     e.check_types = set(['Document', 'Image'])
     e.wf_states = None
     e.recursive = False
     e.min_count = 2
     e.max_count = 3
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
     
     self.folder.invokeFactory('Document', 'd1')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
     
     self.folder.invokeFactory('Document', 'd2')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(True, ex())
     
     self.folder.invokeFactory('Document', 'd3')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(True, ex())
     
     self.folder.invokeFactory('Document', 'd4')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
开发者ID:collective,项目名称:collective.contentrules.parentchild,代码行数:30,代码来源:test_child.py


示例2: test_delete_tile_persistent_data

    def test_delete_tile_persistent_data(self):
        permissions = getMultiAdapter(
            (self.tile.context, self.request, self.tile), ITilesPermissions)
        permissions.set_allowed_edit('masters_of_the_universe')
        annotations = IAnnotations(self.tile.context)
        self.assertIn('plone.tiles.permission.test-basic-tile', annotations)

        configuration = getMultiAdapter(
            (self.tile.context, self.request, self.tile),
            ITilesConfigurationScreen)
        configuration.set_configuration({
            'title': {'order': u'0', 'visibility': u'on'},
            'description': {'order': u'1', 'visibility': u'off'},
        })
        self.assertIn('plone.tiles.configuration.test-basic-tile',
                      annotations)

        # Call the delete method
        self.tile.delete()

        # Now we should not see the stored data anymore
        self.assertNotIn('plone.tiles.permission.test-basic-tile',
                         annotations)
        self.assertNotIn('plone.tiles.configuration.test-basic-tile',
                         annotations)
开发者ID:Adniel,项目名称:collective.cover,代码行数:25,代码来源:test_basic_tile.py


示例3: init

    def init(self):

        self.resizer = getMultiAdapter((self.context, self.request), IMobileImageProcessor)
        self.resizer.init()

        sniffer = getMultiAdapter((self.context, self.request), IUserAgentSniffer)
        self.ua = sniffer.getUserAgentRecord()
开发者ID:cillianderoiste,项目名称:gomobile.mobile,代码行数:7,代码来源:imageprocessor.py


示例4: _add_rule_action

 def _add_rule_action(self, rule, action_id, data):
     action = component.getUtility(IRuleAction, name=action_id)
     adding = component.getMultiAdapter((rule, self.request),
                                        name='+action')
     addview = component.getMultiAdapter((adding, self.request),
                               name=action.addview)
     addview.createAndAdd(data=data)
开发者ID:CIRB,项目名称:cirb.blog,代码行数:7,代码来源:setup_view.py


示例5: __init__

 def __init__(self, context, request, view, manager):
     ViewletBase.__init__(self, context, request, view, manager)
     
     self.membership = getToolByName(self.context, 'portal_membership')        
     self.context_state = getMultiAdapter((context, request), name=u'plone_context_state')
     self.portal_state = getMultiAdapter((context, request), name=u'plone_portal_state')
     self.pas_info = getMultiAdapter((context, request), name=u'pas_info')
开发者ID:UPCnet,项目名称:genweb.resources,代码行数:7,代码来源:viewlets.py


示例6: __init__

    def __init__(self, context, request):
        self.context = context
        self.request = request
        self.errors = {}

        self.portal_state = getMultiAdapter((self.context, self.request), name=u'plone_portal_state')
        self.tools = getMultiAdapter((self.context, self.request), name=u'plone_tools')
        self.props = getToolByName(self.context, 'portal_properties')
        self.utils = getToolByName(self.context, 'plone_utils')
        self.site_properties = self.props['site_properties']

        self.url_solicitacao_pesquisa = self.context.absolute_url()
        self.url_sucess = self.context.absolute_url()

        self.url_servico_ra = self.site_properties.URL_SERVICO_RA

        self.lista = []
        self.SiglaOsID = 'SUST'

        if 'ordemServico' in request.form:
            ordemServico = request.form['ordemServico']
            request.set('ordemServico', ordemServico)
            self.ordemServico = ordemServico
        else:
            self.ordemServico = None

        if 'anoOS' in request.form:
            anoOS = request.form['anoOS']
            request.set('anoOS', anoOS)
            self.anoOS = anoOS
        else:
            self.anoOS = None
开发者ID:aquinocom,项目名称:lx.demanda,代码行数:32,代码来源:listaRAOSV2.py


示例7: getResults

    def getResults(self):
        context = Acquisition.aq_inner(self.context)

        # try to get query parameters from Topic (if present)
        query = hasattr(context, 'buildQuery') and context.buildQuery()
        if query:
            catalog = getToolByName(context, 'portal_catalog')
            results = catalog(query)
            # filter out results that are both outdated and expired
            to_show = [
                x for x in results if not (
                    getattr(x, 'outdated', False) and isExpired(x))
            ]
            return to_show

        # otherwise construct a query
        portal_state = getMultiAdapter(
            (self.context, self.request), name=u'plone_portal_state')
        navigation_root_path = portal_state.navigation_root_path()

        oshaview = getMultiAdapter(
            (self.context, self.request), name=u'oshaview')
        mySEP = oshaview.getCurrentSingleEntryPoint()
        kw = ''

        if mySEP:
            kw = mySEP.getProperty('keyword', '')

        query = '(portal_type:("News Item") OR isNews:true) AND '
        'review_state:published AND path_parents:%s' % navigation_root_path
        if kw != '':
            query = ' AND '.join([query, 'Subject:(%s)' % ' OR '.join(kw)])
        return search_solr(query, sort='Date desc')
开发者ID:EU-OSHA,项目名称:osha.theme,代码行数:33,代码来源:oshnews_view.py


示例8: getRepliesStructure

    def getRepliesStructure(self):
        replyStructures = []

        isTask = self.getType() == 'Task'
        isDeadlinePassed = False
        outOfTime = False
        taskDeadline = getattr(self.context, 'deadline', None)
        if taskDeadline is not None:
            isDeadlinePassed = taskDeadline < datetime.datetime.now()

        for reply_brain in self.replies:
            reply = reply_brain.getObject()

            if not outOfTime and isTask and isDeadlinePassed:
                currentCreationDate = DT2dt(reply.created()).replace(tzinfo=None)
                if currentCreationDate > taskDeadline:
                    outOfTime = True
                    expiredView = getMultiAdapter(
                        (self.context, self.request), name=u"expired")
                    replyStructures.append(expiredView)

            view = getMultiAdapter((reply, self.request), name=u"thread")
            replyStructures.append(view)

        if replyStructures:
            replyStructures[-1].isLast = True

        if not outOfTime and isTask and isDeadlinePassed:
            expiredView = getMultiAdapter((self.context, self.request), name=u"expired")
            replyStructures.append(expiredView)

        return replyStructures
开发者ID:ixds,项目名称:plone-virtualcenter,代码行数:32,代码来源:threaded.py


示例9: test_delete_tile_persistent_data

    def test_delete_tile_persistent_data(self):
        permissions = getMultiAdapter(
            (self.tile.context, self.request, self.tile), ITilesPermissions)
        permissions.set_allowed_edit('masters_of_the_universe')
        annotations = IAnnotations(self.tile.context)
        self.assertIn('plone.tiles.permission.test-pfg-tile', annotations)

        uuid = IUUID(self.pfg, None)
        configuration = getMultiAdapter(
            (self.tile.context, self.request, self.tile),
            ITilesConfigurationScreen)
        configuration.set_configuration({
            'uuid': uuid,
            'title': self.pfg.Title(),
            'description': self.pfg.Description(),
        })
        self.assertIn('plone.tiles.configuration.test-pfg-tile',
                      annotations)

        # Call the delete method
        self.tile.delete()

        # Now we should not see the stored data anymore
        self.assertNotIn('plone.tiles.permission.test-pfg-tile',
                         annotations)
        self.assertNotIn('plone.tiles.configuration.test-pfg-tile',
                         annotations)
开发者ID:felucas,项目名称:collective.cover,代码行数:27,代码来源:test_pfg_tile.py


示例10: update

    def update(self):
        context= aq_inner(self.context)

        context_helper = getMultiAdapter((context, self.request), name="plone_context_state")

        portal_helper = getMultiAdapter((context, self.request), name="plone_portal_state")

        canonical = context_helper.canonical_object()

        parent = aq_parent(canonical)

        breadcrumbs_view = getView(self.context, self.request, 'breadcrumbs_view')
        breadcrumbs = breadcrumbs_view.breadcrumbs()

        if (len(breadcrumbs)==1):
            self.backTitle = _(u"Home")
        else:
            if hasattr(parent, "Title"):
                self.backTitle = parent.Title()
            else:
                self.backTitle = _(u"Back")

        if hasattr(parent, "absolute_url"):
            self.backUrl = parent.absolute_url()
        else:
            self.backUrl = portal_helper.portal_url()

        self.isHome = len(breadcrumbs)==0

        self.homeUrl = portal_helper.portal_url()
开发者ID:plone-gomobile,项目名称:gomobiletheme.mobipublic,代码行数:30,代码来源:viewlets.py


示例11: test_spaces_are_not_escaped

    def test_spaces_are_not_escaped(self):
        # Escaping spaces in URLs with %20 in LaTeX is bad because % is a comment.
        chapter = create(Builder('chapter')
                         .within(self.book)
                         .titled('the chapter'))

        document = create(Builder('file')
                          .within(chapter)
                          .titled('The File')
                          .with_id('the file'))

        html = '<a class="internal-link" href="resolveuid/{0}">Link</a>'.format(
            IUUID(document))
        block = create(Builder('book textblock')
                       .within(chapter)
                       .having(text=html))

        request = block.REQUEST
        assembler = getMultiAdapter((self.book, request), IPDFAssembler)
        latex_view = getMultiAdapter((block, request, assembler.get_layout()),
                                     ILaTeXView)

        self.assertEqual(
            r'\hyperref[path:/plone/the-book/the-chapter/the file]{Link'
            r'\footnote{See page'
            r' \pageref{path:/plone/the-book/the-chapter/the file}}}',
            latex_view.render().strip())
开发者ID:4teamwork,项目名称:ftw.book,代码行数:27,代码来源:test_latex_internal_hyperlinks.py


示例12: __init__

 def __init__(self, context, request, view, manager, data):
     BaseRenderer.__init__(self, context, request, view, manager, data)
     portal_state = getMultiAdapter((context, request), name=u'plone_portal_state')
     portal_tools = getMultiAdapter((context, request), name=u'plone_tools')
     self.navigation_root_url = portal_state.navigation_root_url()
     self.portal_types = portal_tools.types()
     self.friendly_types = portal_state.friendly_types()
开发者ID:collective,项目名称:collective.portlet.search,代码行数:7,代码来源:advancedsearch.py


示例13: renderViewlet

 def renderViewlet(self, manager, name):
     if isinstance(manager, basestring):
         manager = getMultiAdapter((self.context, self.request, self), IViewletManager, name=manager)
     renderer = getMultiAdapter((self.context, self.request, self, manager), IViewlet, name=name)
     renderer = renderer.__of__(self.context)
     renderer.update()
     return renderer.render()
开发者ID:headnet,项目名称:quintagroup.plonetabs,代码行数:7,代码来源:plonetabs.py


示例14: testExecuteComplex

 def testExecuteComplex(self):
     e = ChildCondition()
     e.check_types = set(['Folder', 'Document'])
     e.wf_states = set(['published'])
     e.recursive = True
     e.min_count = 2
     e.max_count = 3
     
     self.folder.invokeFactory('Folder', 'f1')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
     
     self.folder.f1.invokeFactory('Document', 'd1')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
     
     self.portal.portal_workflow.doActionFor(self.folder.f1, 'publish')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(False, ex())
     
     self.portal.portal_workflow.doActionFor(self.folder.f1.d1, 'publish')
     
     ex = getMultiAdapter((self.portal, e, DummyEvent(self.folder)), IExecutable)
     self.assertEquals(True, ex())
开发者ID:collective,项目名称:collective.contentrules.parentchild,代码行数:27,代码来源:test_child.py


示例15: update

    def update(self):
        if not self.portal_state:
            self.portal_state = component.getMultiAdapter((self.context,
                                                           self.request),
                                           name="plone_portal_state")
        if not self.portal_url:
            self.portal_url = self.portal_state.portal_url()

        if self.portal_path is None:
            portal = self.portal_state.portal()
            self.portal_path = '/'.join(portal.getPhysicalPath())

        if self.portlet_url is None:
            #http://stackoverflow.com/questions/11211134/how-do-i-get-the-kind-of-portlet-group-context-type-from-its-renderer-in-pl/11211893#11211893
            retriever = component.getMultiAdapter((self.context, self.manager),
                                                  IPortletRetriever)
            category = None
            for info in retriever.getPortlets():
                if info['assignment'] is self.data.aq_base:
                    category = info['category']
                    key = info['key']
                    break
            if category is not None:
                path = key[len(self.portal_path)+1:]
                info = {'category': category,
                        'id': '%s' % self.data.id,
                        'manager': self.manager.__name__,
                        'context_path': path}
                self.portlet_url = '%s/%s' % (self.portal_url, 
                                              PORTLET_PATH % info)
开发者ID:collective,项目名称:collective.portlet.videoanysurfer,代码行数:30,代码来源:videoportlet.py


示例16: test_exported_XML_valid_for_GS

    def test_exported_XML_valid_for_GS(self):
        """Test that exported XMLs can be parsed by GenericSetup's parser."""
        self.portal = self.layer['portal']
        self.request = self.layer['request']

        # create a Dexterity item that we can export
        self.item = add_item_type(self.portal)

        # request is expected to have the 'selected' parameter set
        self.request['selected'] = 'item'

        # get the export view
        dexterity_control_panel = getMultiAdapter(
            (self.portal, self.request), name='dexterity-types')
        types_export_view = getMultiAdapter(
            (dexterity_control_panel, self.request), name='types-export')

        # export the 'item' type and try to parse all XMLs
        fd = StringIO.StringIO(types_export_view.__call__())
        archive = zipfile.ZipFile(fd, mode='r')
        filenames = archive.namelist()
        for filename in filenames:
            file_xml = archive.read(filename)

            # if this passes then GenericSetup will be able to use this XML
            try:
                parseString(file_xml)
            except ExpatError as e:
                self.fail("Parsing XML failed with ExpatError: " + e.message)
开发者ID:brunobbbs,项目名称:plone.app.dexterity,代码行数:29,代码来源:test_export.py


示例17: test_delete_confirmation_if_locked

    def test_delete_confirmation_if_locked(self):
        folder = self.portal['f1']
        lockable = ILockable.providedBy(folder)

        form = getMultiAdapter(
            (folder, self.request), name='delete_confirmation')
        form.update()

        self.assertFalse(form.is_locked)

        if lockable:
            lockable.lock()

        form = getMultiAdapter(
            (folder, self.request), name='delete_confirmation')
        form.update()

        self.assertFalse(form.is_locked)

        # After switching the user it should not be possible to delete the
        # object. Of course this is only possible if our context provides
        # ILockable interface.
        if lockable:
            logout()
            login(self.portal, 'editor')

            form = getMultiAdapter(
                (folder, self.request), name='delete_confirmation')
            form.update()
            self.assertTrue(form.is_locked)

            logout()
            login(self.portal, TEST_USER_NAME)

            ILockable(folder).unlock()
开发者ID:cillianderoiste,项目名称:plone.app.content,代码行数:35,代码来源:test_actions.py


示例18: test_crud

    def test_crud(self):
        # we start with an empty tile
        self.assertTrue(self.tile.is_empty())

        # now we add a couple of objects to the list
        obj1 = self.portal['my-document']
        obj2 = self.portal['my-image']
        self.tile.populate_with_object(obj1)
        self.tile.populate_with_object(obj2)

        # tile's data attributed is cached so we should re-instantiate the tile
        tile = getMultiAdapter((self.cover, self.request), name=self.name)
        tile = tile['test']
        self.assertEqual(len(tile.results()), 2)
        self.assertTrue(obj1 in tile.results())
        self.assertTrue(obj2 in tile.results())

        # next, we replace the list of objects with a different one
        obj3 = self.portal['my-news-item']
        tile.replace_with_objects([IUUID(obj3, None)])
        # tile's data attributed is cached so we should re-instantiate the tile
        tile = getMultiAdapter((self.cover, self.request), name=self.name)
        tile = tile['test']
        self.assertTrue(obj1 not in tile.results())
        self.assertTrue(obj2 not in tile.results())
        self.assertTrue(obj3 in tile.results())

        # finally, we remove it from the list; the tile must be empty again
        tile.remove_item(obj3.UID())
        # tile's data attributed is cached so we should re-instantiate the tile
        tile = getMultiAdapter((self.cover, self.request), name=self.name)
        tile = tile['test']
        self.assertTrue(tile.is_empty())
开发者ID:Adniel,项目名称:collective.cover,代码行数:33,代码来源:test_list_tile.py


示例19: get_values_to_index

    def get_values_to_index(self):
        request = getRequest()
        items = super(FactsheetCataloguer, self).get_values_to_index()
        view = getMultiAdapter((self.context, request), name='view')
        contents = u''
        for item in view.facts():
            for fact in item.get('facts'):
                contents += getMultiAdapter(
                    (fact.getObject(), request),
                    name='factrenderview')()

        items['article[content]'] = contents
        targets = []
        for target in (self.context.targets or []):
            targets.append(target)
        items['article[target_list]'] = u','.join(targets)
        actions = []
        for action in (self.context.actions or []):
            actions.append(action)
        items['article[action_list]'] = u','.join(actions)
        tags = []
        for tag in (self.context.cataloguetags or []):
            tagid, tagname = tag.split('-')
            tags.append(tagname)
        items['article[tag_list]'] = u','.join(tags)

        items['article[countries]'] = \
            (self.context.fact_countryCode or '').strip()

        return items
开发者ID:eea,项目名称:bise.biodiversityfactsheet,代码行数:30,代码来源:cataloguer.py


示例20: getResult

    def getResult(self):
        assert self._updated
        result = []
        qc = getMultiAdapter((self.context, self.request),
                             name='refbrowser_querycatalog')
        if self.widget.show_results_without_query or self.search_text:
            result = (self.widget.show_results_without_query or \
                      self.search_text) and \
                      qc(search_catalog=self.widget.search_catalog)

            self.has_queryresults = bool(result)

        elif self.widget.allow_browse:
            ploneview = getMultiAdapter((self.context, self.request),
                                        name="plone")
            folder = ploneview.getCurrentFolder()
            self.request.form['path'] = {
                              'query': '/'.join(folder.getPhysicalPath()),
                              'depth':1}
            self.request.form['portal_type'] = []
            self.request.form['sort_on'] = 'getObjPositionInParent'
            result = qc(search_catalog=self.widget.search_catalog)
        else:
            result = []
        b_size = int(self.request.get('b_size', 20))
        b_start = int(self.request.get('b_start', 0))

        return Batch(result, b_size, b_start, orphan=1)
开发者ID:niteoweb,项目名称:archetypes.referencebrowserwidget,代码行数:28,代码来源:view.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python component.getSiteManager函数代码示例发布时间:2022-05-26
下一篇:
Python component.getGlobalSiteManager函数代码示例发布时间: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