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

Python interfaces.ISite类代码示例

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

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



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

示例1: run

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,代码行数:54,代码来源:setOshaMetadataExtension.py


示例2: disable_party

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,代码行数:7,代码来源:local_newsletter.py


示例3: setEROSchemaExtension

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,代码行数:27,代码来源:setEROSchemaExtension.py


示例4: update

    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,代码行数:25,代码来源:htmltags.py


示例5: readme_setup

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,代码行数:7,代码来源:testing.py


示例6: setupVarious

def setupVarious(context):
    portal = context.getSite()
    if not ISite.providedBy(portal):
        enableSite(portal)
    setupLanguages(portal)
    clearPortlets(portal)
    setupNavigationPortlet(portal)
开发者ID:affinitic,项目名称:labraise.skin,代码行数:7,代码来源:setuphandlers.py


示例7: registerUtility

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,代码行数:33,代码来源:utils.py


示例8: bootStrapSubscriber

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,代码行数:25,代码来源:bootstrap.py


示例9: enableFolder

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,代码行数:8,代码来源:subscribers.py


示例10: isAvailable

    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,代码行数:8,代码来源:contentactions.py


示例11: isAvailable

    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,代码行数:8,代码来源:geotargeting.py


示例12: update

    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,代码行数:9,代码来源:search.py


示例13: update

    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,代码行数:9,代码来源:portlet.py


示例14: __init__

    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,代码行数:9,代码来源:indexes.py


示例15: test_enabling_child_site

 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,代码行数:9,代码来源:test_subscribers.py


示例16: findObjectsProviding

    def findObjectsProviding(root):
        if ISite.providedBy(root):
            yield root

        values = getattr(root, "values", None)
        if callable(values):
            for subobj in values():
                for match in findObjectsProviding(subobj):
                    yield match
开发者ID:Zojax,项目名称:zojax.personal.space,代码行数:9,代码来源:install.py


示例17: enableSite

 def enableSite(self, portal):
     """
     Make the portal a Zope3 site and create a site manager.
     """
     if not ISite.providedBy(portal):
         make_objectmanager_site(portal)
     # The following event is primarily useful for setting the site hooks
     # during test runs.
     notify(SiteManagerCreatedEvent(portal))
开发者ID:dtgit,项目名称:dtedu,代码行数:9,代码来源:setuphandlers.py


示例18: isSelected

    def isSelected(self, strict=False):
        intids = self.intids
        context = self.context

        if ISite.providedBy(context):
            if self.id == intids.queryId(context):
                return True
            return False

        while context is not None and not ISite.providedBy(context):
            if self.id == intids.queryId(context):
                return True
            elif strict:
                return False

            context = getattr(context, '__parent__', None)

        return False
开发者ID:Zojax,项目名称:zojax.ui.portaltabs,代码行数:18,代码来源:extension.py


示例19: ensure_site

def ensure_site(context):
    """Ensure the given context implements ISite.  The importance of
    this method is that it will ensure the given context is an ISite
    regardless of the Zope version (Zope 2.9 had a really hacked up
    SiteManager mechanism we have to account for).

      >>> from zope.app.component.interfaces import ISite, IPossibleSite
      >>> from OFS.Folder import Folder
      >>> if not IPossibleSite.implementedBy(Folder):
      ...    from zope import interface
      ...    from Products.Five.site.metaconfigure import (FiveSite,
      ...                                                  classSiteHook)
      ...    classSiteHook(Folder, FiveSite)
      ...    interface.classImplements(Folder, IPossibleSite)
      >>> om = Folder('foo')

      >>> ISite.providedBy(om)
      False

      >>> ensure_site(om)
      >>> ISite.providedBy(om)
      True

    """

    if not IPossibleSite.providedBy(context):
        if hasattr(context, 'getPhysicalPath'):
            p = '/'.join(context.getPhysicalPath())
        elif hasattr(context, 'getId'):
            p = context.getId()
        elif hasattr(context, 'id'):
            p = id
        else:
            p = str(context)

        raise TypeError('The object, "%s", is not an IPossibleSite' % p)

    if not ISite.providedBy(context):
        enableLocalSiteHook(context)
        setSite(context)

    if not ISite.providedBy(context):
        raise TypeError('Somehow trying to configure "%s" as an ISite '
                        'has failed' % '/'.join(context.getPhysicalPath()))
开发者ID:Cenditel,项目名称:cenditel.comunidades.cynin,代码行数:44,代码来源:site.py


示例20: disable_old_parties

def disable_old_parties(newsletter):
    """
    remove old named utilities based on path
    """
    if ISite.providedBy(newsletter):
        sm = newsletter.getSiteManager()
        name = get_name_for_site_old(newsletter)
        lookup = newsletter.get("newsletter_lookup")
        if lookup is not None:
            sm.unregisterUtility(name=name, provided=ILocalNewsletterLookup)
开发者ID:RedTurtle,项目名称:collective.dancefloor,代码行数:10,代码来源:upgrades.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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