本文整理汇总了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;未经允许,请勿转载。 |
请发表评论