本文整理汇总了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)
示例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)
示例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)
示例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
示例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()
示例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)
示例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]
示例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))
示例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))
示例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()
示例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
示例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()
示例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)
示例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
示例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))