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


Python ISite.providedBy方法代码示例

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


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

示例1: run

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def run(self, path="", do_delete=0):
    result = list()
    result.append("setOshaMetadataExtension")
    url_tool = getToolByName(self, "portal_url")
    portal = url_tool.getPortalObject()
    obj = self
    if path:
        try:
            obj = portal.restrictedTraverse(path)
        except:
            result.append("No object found for path %s" % path)
            return "\n".join(result)

    if do_delete and ISite.providedBy(obj):
        noLongerProvides(obj, ISite)
        del obj._components
        result.append("Deleted existing site manager")
        return "\n".join(result)

    # very special and dirty hack
    # We need to kill the existing SiteManager in the European Riskobservatory
    # folder, since it contains a reference to the no longer existing
    # IEroExtender
    if obj.id in ["riskobservatory"] and ISite.providedBy(obj):
        noLongerProvides(obj, ISite)
        del obj._components
        result.append("Deleted existing site manager")

    if not ISite.providedBy(obj):
        make_objectmanager_site(obj)
        result.append("Turned %s into a local site" % obj.id)

    sitemanager = obj.getSiteManager()
    sitemanager.registerAdapter(OshaMetadataExtender, (IATEvent,), IOrderableSchemaExtender, name="event-oshametadata")

    sitemanager.registerAdapter(
        OshaMetadataExtender, (IATNewsItem,), IOrderableSchemaExtender, name="news-oshametadata"
    )

    sitemanager.registerAdapter(
        OshaMetadataExtender, (IATDocument,), IOrderableSchemaExtender, name="document-oshametadata"
    )

    sitemanager.registerAdapter(
        OshaMetadataExtender, (Iwhoswho,), IOrderableSchemaExtender, name="document-oshametadata"
    )

    sitemanager.registerAdapter(
        OshaMetadataExtender, (IPressRelease,), IOrderableSchemaExtender, name="pressrelease-oshametadata"
    )

    result.append("Registered OshaMetadataExtender as adapter on %s" % obj.id)

    return "\n".join(result)
开发者ID:EU-OSHA,项目名称:osha.policy,代码行数:56,代码来源:setOshaMetadataExtension.py

示例2: disable_party

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def disable_party(context):
    if ISite.providedBy(context):
        sm = context.getSiteManager()
        name = get_name_for_site(context)
        lookup = context.get("newsletter_lookup")
        if lookup is not None:
            sm.unregisterUtility(name=name, provided=ILocalNewsletterLookup)
开发者ID:kysr,项目名称:collective.dancefloor,代码行数:9,代码来源:local_newsletter.py

示例3: setEROSchemaExtension

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def setEROSchemaExtension(self, path=''):
    result = list()
    url_tool = getToolByName(self, 'portal_url')
    portal = url_tool.getPortalObject()
    obj = None
    if path:
        try:
            obj = portal.restrictedTraverse(path)
        except:
            # well, path must habe been wrong
            result.append("No object found for path %s" %path)

    if not obj:
        obj = self
        result.append("Performing actions on self (%s)" %obj.absolute_url())

    if not ISite.providedBy(obj):
        make_objectmanager_site(obj)
        result.append("Turned %s into a local site" %obj.id)
    sitemanager = obj.getSiteManager()

    sitemanager.registerAdapter(factory=TaggingSchemaExtenderERO,
                                         name=u"osha.metadata.ero")

    result.append("Registered TaggingSchemaExtenderERO as adapter on %s" %obj.id)

    return "\n".join(result)
开发者ID:EU-OSHA,项目名称:osha.policy,代码行数:29,代码来源:setEROSchemaExtension.py

示例4: update

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def update(self):
        super(PageTitle, self).update()
        context = self.context
        request = self.request
        self.titleSeparator = component.getUtility(ISEO).titleSeparator

        if not ISite.providedBy(context):
            self.notRoot = True

            site = getSite()
            tags = IHTMLTags(site, None)
            if tags is not None and tags.isAvailable() and tags.title:
                self.portal_title = tags.title
            else:
                self.portal_title = getMultiAdapter(
                    (site, request), IBreadcrumb).name

        tags = IHTMLTags(context, None)
        if tags is not None and tags.isAvailable() and tags.title:
            if not tags.appendSiteTitle:
                self.notRoot = False
            self.title = tags.title
        else:
            self.title = getMultiAdapter(
                (context, request), IBreadcrumb).name
开发者ID:Zojax,项目名称:zojax.seo,代码行数:27,代码来源:htmltags.py

示例5: readme_setup

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def readme_setup(tc):
    oc_setup.fresh_skin(tc)
    if not ISite.providedBy(tc.portal):
        enableLocalSiteHook(tc.portal)
    setSite(tc.portal)
    setHooks()
    setup_mock_geocoder()
开发者ID:socialplanning,项目名称:oc-geotagging,代码行数:9,代码来源:testing.py

示例6: setupVarious

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def setupVarious(context):
    portal = context.getSite()
    if not ISite.providedBy(portal):
        enableSite(portal)
    setupLanguages(portal)
    clearPortlets(portal)
    setupNavigationPortlet(portal)
开发者ID:affinitic,项目名称:labraise.skin,代码行数:9,代码来源:setuphandlers.py

示例7: registerUtility

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def registerUtility(id, factory, ifaces, container='system'):
    site = getSite()
    if not ISite.providedBy(site):
        raise RuntimeError(_("Can't create utility."))

    sm = component.getSiteManager()

    if isinstance(container, basestring):
        if container:
            if container not in sm:
                folder = SiteManagementFolder()
                event.notify(ObjectCreatedEvent(folder))
                sm[container] = folder

            container = sm[container]
        else:
            container = sm
    elif container is None:
        container = sm

    if id not in container:
        if callable(factory):
            utility = factory()
        else:
            utility = component.createObject(factory)

        event.notify(ObjectCreatedEvent(utility))
        removeSecurityProxy(container)[id] = utility

        for iface, name in ifaces:
            sm.registerUtility(utility, iface, name)

    return container[id]
开发者ID:Zojax,项目名称:zojax.product,代码行数:35,代码来源:utils.py

示例8: bootStrapSubscriber

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def bootStrapSubscriber(event):
    """The actual subscriber to the bootstrap IDataBaseOpenedEvent

    Boostrap a Zope3 instance given a database object This first checks if the
    root folder exists and has a site manager.  If it exists, nothing else
    is changed.  If no root folder exists, one is added.
    """

    db, connection, root, root_folder = getInformationFromEvent(event)
    root_created = False

    if root_folder is None:
        root_created = True
        # ugh... we depend on the root folder implementation
        root_folder = rootFolder()
        root[ZopePublication.root_name] = root_folder
        if not ISite.providedBy(root_folder):
            site_manager = site.LocalSiteManager(root_folder)
            root_folder.setSiteManager(site_manager)

        transaction.commit()

    connection.close()

    zope.event.notify(interfaces.DatabaseOpenedWithRoot(db))
开发者ID:wpjunior,项目名称:proled,代码行数:27,代码来源:bootstrap.py

示例9: enableFolder

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
def enableFolder(folder):
    zope.event.notify(ChildSiteWillBeCreatedEvent(folder))
    if not ISite.providedBy(folder):
        make_objectmanager_site(folder)
    # reindex so that the object_provides index is aware of our
    # new interface
    reindexObjectProvides(folder)
    zope.event.notify(ChildSiteCreatedEvent(folder))
开发者ID:RedTurtle,项目名称:collective.lineage,代码行数:10,代码来源:subscribers.py

示例10: isAvailable

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def isAvailable(self):
        context = self.context
        if ISite.providedBy(context) or \
                IUnremoveableContent.providedBy(context) or \
                IRenameNotAllowed.providedBy(context):
            return False

        return super(DeleteContentAction, self).isAvailable()
开发者ID:Zojax,项目名称:zojax.content.actions,代码行数:10,代码来源:contentactions.py

示例11: isAvailable

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def isAvailable(self):
        context = self.context

        if IPortalType.providedBy(context) or ISite.providedBy(context):
            annotation = IAnnotations(context, None)
            if annotation is not None:
                return True
        return False
开发者ID:Zojax,项目名称:zojax.geotargeting,代码行数:10,代码来源:geotargeting.py

示例12: update

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def update(self):
        if ISite.providedBy(self.context):
            self.fields = self.fields.omit('currentLocation')

        if ('fromRoot' not in self.request.form \
                and getUtility(ISearchConfig).fromRoot):
            self.request.form['%swidgets.fromRoot'%self.prefix] = ['true']

        super(SearchForm, self).update()
开发者ID:Zojax,项目名称:zojax.ui.searching,代码行数:11,代码来源:search.py

示例13: update

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def update(self):
        super(SearchPortlet, self).update()

        context = self.context
        while IPagelet.providedBy(context):
            context = context.__parent__

        self.isSite = ISite.providedBy(context)
        self.contextUrl = absoluteURL(context, self.request)
开发者ID:Zojax,项目名称:zojax.ui.searching,代码行数:11,代码来源:portlet.py

示例14: __init__

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
    def __init__(self, content, default=None):
        while not IDraftContent.providedBy(content):
            content = content.__parent__

            if ISite.providedBy(content) or content is None:
                self.isDraft = False
                return

        self.isDraft = True
开发者ID:Zojax,项目名称:zojax.content.draft,代码行数:11,代码来源:indexes.py

示例15: test_enabling_child_site

# 需要导入模块: from zope.app.component.interfaces import ISite [as 别名]
# 或者: from zope.app.component.interfaces.ISite import providedBy [as 别名]
 def test_enabling_child_site(self):
     self.subtyper.change_type(
         self.portal.site1,
         u'collective.lineage.childsite')
     res = self.catalog(object_provides=IChildSite.__identifier__)
     rids = [r.getRID() for r in res]
     rid = self.catalog.getrid('/plone/site1')
     self.assertIn(rid, rids)
     self.assertTrue(ISite.providedBy(self.portal.site1))
开发者ID:jean,项目名称:collective.lineage,代码行数:11,代码来源:test_subscribers.py


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