本文整理汇总了Python中zope.component.getUtilitiesFor函数的典型用法代码示例。如果您正苦于以下问题:Python getUtilitiesFor函数的具体用法?Python getUtilitiesFor怎么用?Python getUtilitiesFor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getUtilitiesFor函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _purgePortlets
def _purgePortlets(self):
"""Unregister all portlet managers and portlet types, and remove
portlets assigned to the site root
"""
# Purge portlet types
registeredPortletTypes = [r.name for r in self.context.registeredUtilities()
if r.provided == IPortletType]
for name, portletType in getUtilitiesFor(IPortletType):
if name in registeredPortletTypes:
self.context.unregisterUtility(provided=IPortletType, name=name)
# Purge portlets assigned to the site root
site = self.environ.getSite()
for name, portletManager in getUtilitiesFor(IPortletManager):
assignable = queryMultiAdapter((site, portletManager), IPortletAssignmentMapping)
if assignable is not None:
for key in list(assignable.keys()):
del assignable[key]
# Purge portlet manager registrations - this will also get rid of
# global portlet registrations, since these utilities disappear
portletManagerRegistrations = [r for r in self.context.registeredUtilities()
if r.provided.isOrExtends(IPortletManager)]
for registration in portletManagerRegistrations:
self.context.unregisterUtility(provided=registration.provided,
name=registration.name)
开发者ID:SyZn,项目名称:plone.app.portlets,代码行数:32,代码来源:portlets.py
示例2: roles
def roles(self):
"""Get a list of roles that can be managed.
Returns a list of dics with keys:
- id
- title
"""
context = aq_inner(self.context)
portal_membership = getToolByName(context, 'portal_membership')
pairs = []
#check to see if OpenOCW installed
portal_setup = self.aq_parent.portal_setup
if 'openOCW-final' in portal_setup.getImportStepRegistry().listSteps():
#user default sharing page roles
for name, utility in getUtilitiesFor(ISharingPageRole):
permission = utility.required_permission
if permission is None or portal_membership.checkPermission(permission, context):
pairs.append(dict(id = name, title = utility.title))
else:
#use eduCommons sharing page roles
for name, utility in getUtilitiesFor(IeduCommonsSharingPageRole):
permission = utility.required_permission
if permission is None or portal_membership.checkPermission(permission, context):
pairs.append(dict(id = name, title = utility.title))
pairs.sort(lambda x, y: cmp(x['id'], y['id']))
return pairs
开发者ID:dtgit,项目名称:dtedu,代码行数:30,代码来源:sharing.py
示例3: _apply_digest
def _apply_digest(self, site, storage, digest_info):
"""Filter digest info using registered filters
apply registered strategies for user with filtered info
"""
filter_rules = [r[1] for r in getUtilitiesFor(IDigestFilterRule)]
digest_strategies = [r[1] for r in getUtilitiesFor(IDigestAction)]
for subscriber, info in digest_info.items():
for rule in filter_rules:
info = rule(site, subscriber, info)
for action in digest_strategies:
action(site, storage, subscriber, info)
开发者ID:collective,项目名称:collective.maildigest,代码行数:13,代码来源:tool.py
示例4: getData
def getData(self):
data = dict()
data["Report Date"] = datetime.utcnow().isoformat()
for name, utilClass in getUtilitiesFor(ICallHomeCollector):
chData = utilClass().generateData()
if chData:
data.update(chData)
if self._master:
for name, utilClass in getUtilitiesFor(IMasterCallHomeCollector):
chData = utilClass().generateData(self._dmd)
if chData:
data.update(chData)
return data
开发者ID:SteelHouseLabs,项目名称:zenoss-prodbin,代码行数:13,代码来源:callhome.py
示例5: _signalToContextDict
def _signalToContextDict(signal, zopeurl, notification=None, guidManager=None):
summary = signal.event
# build basic event context wrapper for notifications
if signal.clear:
# aged and closed events have clear == True, but they don't have an associated clear event
# spoof a clear event in those cases, so the notification messages contain useful info
if summary.status == zep_pb2.STATUS_AGED:
occur = signal.clear_event.occurrence.add()
occur.summary = "Event aging task aged out the event."
summary.cleared_by_event_uuid = "Event aging task"
elif summary.status == zep_pb2.STATUS_CLOSED:
occur = signal.clear_event.occurrence.add()
# once an event is in a closed state, the ownerid (current_user_name) is removed
# determine who closed the event by extracting the most recent user_name in the event's audit_log
last_audit_entry = max(signal.event.audit_log, key=lambda x:x.timestamp)
summary.current_user_name = last_audit_entry.user_name
occur.summary = "User '" + summary.current_user_name + "' closed the event in the Zenoss event console."
summary.cleared_by_event_uuid = "User action"
data = NotificationEventContextWrapper(summary, signal.clear_event)
else:
data = NotificationEventContextWrapper(summary)
# add urls to event context
data['urls']['eventUrl'] = getEventUrl(zopeurl, summary.uuid)
data['urls']['ackUrl'] = getAckUrl(zopeurl, summary.uuid)
data['urls']['closeUrl'] = getCloseUrl(zopeurl, summary.uuid)
proxy = EventSummaryProxy(summary)
data['urls']['deviceUrl'] = _getBaseDeviceUrl(zopeurl, proxy.DeviceClass, proxy.device)
data['urls']['eventsUrl'] = getEventsUrl(zopeurl, proxy.DeviceClass, proxy.device)
data['urls']['reopenUrl'] = getReopenUrl(zopeurl, summary.uuid)
data['urls']['baseUrl'] = zopeurl
# now process all custom processors that might be registered to enhance
# the event context
for key, processor in getUtilitiesFor(IProcessSignal):
data[key] = processor.process(signal)
# Process INotificationContextProvider
for key, contextProvider in getUtilitiesFor(INotificationContextProvider):
contextProvider.updateContext(signal, data)
# Add trigger and notification info
if notification:
data['notification']['name'] = notification.titleOrId()
if guidManager:
trigger = guidManager.getObject(signal.trigger_uuid)
if trigger:
data['trigger']['name'] = trigger.titleOrId()
return data
开发者ID:bbc,项目名称:zenoss-prodbin,代码行数:51,代码来源:actions.py
示例6: nonfolderish_possible_descriptors
def nonfolderish_possible_descriptors(context):
portal_type = getattr(aq_inner(context), 'portal_type', None)
if portal_type is None:
return PossibleDescriptors()
all = getUtilitiesFor(\
interfaces.IContentTypeDescriptor)
all = set([(n, c) for n, c in all])
folderish = getUtilitiesFor(\
interfaces.IFolderishContentTypeDescriptor)
folderish = set([(n, c) for n, c in folderish])
return PossibleDescriptors(list(all.difference(folderish)),
'nonfolderish')
开发者ID:collective,项目名称:p4a.subtyper,代码行数:14,代码来源:default.py
示例7: connect_all
def connect_all(event=None):
"""Connect all connections, which have related utilities registered"""
# Notify all, who want to register callbacks for connections
notify(BeforeBrokerConnectEvent())
# Gather all producer and consumer utility registrations
from collective.zamqp.interfaces import IProducer, IConsumer
regs = list(getUtilitiesFor(IProducer)) + list(getUtilitiesFor(IConsumer))
# Connect all connections, which have related utilities registered
for connection_id, connection in getUtilitiesFor(IBrokerConnection):
if filter(lambda reg: reg[1].connection_id == connection_id, regs):
connection.connect()
开发者ID:datakurre,项目名称:collective.zamqp,代码行数:14,代码来源:connection.py
示例8: test_provideConnection
def test_provideConnection(self):
conns = list(getUtilitiesFor(IZopeDatabaseAdapter))
self.assertEqual(conns, [])
connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
self.assertEqual(connectionstub, None)
self.context = xmlconfig.file("rdb.zcml", zope.rdb.tests)
connectionstub = queryUtility(IZopeDatabaseAdapter, 'stub')
connection = connectionstub()
self.assertEqual(connectionstub.__class__, DAStub)
conns = getUtilitiesFor(IZopeDatabaseAdapter)
self.assertEqual([c[0] for c in conns], ["stub"])
self.assertEqual(connection.__class__, ZopeConnection)
开发者ID:kislovm,项目名称:findburo,代码行数:15,代码来源:test_directives.py
示例9: get_nsmap
def get_nsmap():
schema_metadata_handlers = tuple(
getUtilitiesFor(ISchemaMetadataHandler)
)
field_metadata_handlers = tuple(
getUtilitiesFor(IFieldMetadataHandler)
)
nsmap = {}
metadata_handlers = schema_metadata_handlers + field_metadata_handlers
for name, handler in metadata_handlers:
namespace, prefix = handler.namespace, handler.prefix
if namespace is not None and prefix is not None:
nsmap[prefix] = namespace
return nsmap
开发者ID:abstract-open-solutions,项目名称:collective.formbuilder,代码行数:15,代码来源:utils.py
示例10: roles
def roles(self):
"""Get a list of roles that can be managed.
Returns a list of dicts with keys:
- id
- title
"""
context = self.context
portal_membership = getToolByName(context, 'portal_membership')
pairs = []
for name, utility in getUtilitiesFor(ISharingPageRole):
permission = utility.required_permission
if permission is not None:
if not portal_membership.checkPermission(permission, context):
continue
# be friendly to utilities implemented without required_interface
iface = getattr(utility, 'required_interface', None)
if iface is not None and not iface.providedBy(context):
continue
pairs.append(dict(id = name, title = utility.title))
pairs.sort(key=lambda x: normalizeString(translate(x["title"], context=self.request)))
return pairs
开发者ID:CGTIC,项目名称:Plone_SP,代码行数:26,代码来源:sharing.py
示例11: listContentTypes
def listContentTypes(self):
cts = []
for name, ct in getUtilitiesFor(ISchemaAware):
cts.append((ct.title, ct))
cts.sort()
return [ct for _t, ct in cts]
开发者ID:Zojax,项目名称:zojax.content.schema,代码行数:7,代码来源:configlet.py
示例12: get_delivery_services
def get_delivery_services(self):
result = atapi.DisplayList()
result.add(u'mailhost', _(u'EasyNewsletter_label_PloneMailHost', u'Default Plone Mailhost'))
for utility in getUtilitiesFor(IMailHost):
if utility[0]:
result.add(utility[0], utility[0])
return result
开发者ID:agnogueira,项目名称:Products.EasyNewsletter,代码行数:7,代码来源:EasyNewsletter.py
示例13: get
def get(self, section, name=None):
utils = getUtilitiesFor(IConfiguration)
for utilid, util in utils:
if utilid:
res = util.get(section, name)
if res:
return res
开发者ID:bithub,项目名称:bit.bot.base,代码行数:7,代码来源:configuration.py
示例14: principalInfoStorages
def principalInfoStorages(context):
terms = []
for name, storage in getUtilitiesFor(IPrincipalInfoStorage):
terms.append((storage.name, SimpleTerm(name, name, storage.name)))
terms.sort()
return SimpleVocabulary([term for n, term in terms])
开发者ID:Zojax,项目名称:zojax.authentication,代码行数:7,代码来源:principalinfo.py
示例15: quizz_choice
def quizz_choice(context):
terms = []
utils = getUtilitiesFor(IQuizz)
for name, quizz in utils:
if check_quizz(name, quizz, context):
terms.append(SimpleTerm(value=name, title=quizz.__title__))
return SimpleVocabulary(terms)
开发者ID:novareto,项目名称:nva.psyquizz,代码行数:7,代码来源:deferred.py
示例16: initialize
def initialize(self, context, request):
""" called by the API Framework
"""
logger.info("DefaultRouter.initialize: context=%r request=%r" % (context, request))
self.context = context
self.request = request
self.environ = request.environ
self.http_host = request["HTTP_HOST"]
self.url = request.getURL()
if self.is_initialized:
return
logger.info("DefaultRouter::initialize")
for name, provider in component.getUtilitiesFor(IRouteProvider):
logger.info("DefaultRouter::initialize: name=%s, provider=%r", name, provider)
if getattr(provider, "initialize", None):
provider.initialize(context, request)
for route in provider.routes:
self.add_url_rule(*route)
self.is_initialized = True
开发者ID:pombredanne,项目名称:plone.jsonapi.core,代码行数:26,代码来源:router.py
示例17: guessBody
def guessBody(self, table, header, output):
""" Discover column types from table body
"""
utilities = getUtilitiesFor(IGuessType)
utilities = sorted(utilities, cmp=compare)
missing = self.missing
for row in table:
for index, cell in enumerate(row):
# Skip missing values
if cell.lower().strip() in missing:
continue
label = header[index]
title, columnType = self.column_type(label)
# Type in header, skip this column
if columnType:
continue
output.setdefault(title, {})
for name, guess in utilities:
if guess(cell, label):
output[title].setdefault(name, guess.priority)
output[title][name] += 1
开发者ID:eea,项目名称:eea.app.visualization,代码行数:26,代码来源:guess.py
示例18: show_quickupload_action
def show_quickupload_action(self):
portal = getUtility(IPloneSiteRoot)
qup_prefs = IQuickUploadControlPanel(portal)
if not qup_prefs.show_upload_action:
return False
context_state = getMultiAdapter(
(aq_inner(self.context), self.request),
name=u'plone_context_state')
if not (
context_state.is_default_page() or
context_state.is_folderish()):
return False
# If the Quickuploader portlet is shown in the current context, don't
# show the Upload action, since the portlet takes precedence
portlet_managers = [
x[1] for x in getUtilitiesFor(IPortletManager)
if not x[0].startswith('plone.dashboard')
]
for mgr in portlet_managers:
retriever = getMultiAdapter((self.context, mgr), IPortletRetriever)
portlets = retriever.getPortlets()
for portlet in portlets:
if IQuickUploadPortlet.providedBy(portlet["assignment"]):
return False
return True
开发者ID:datakurre,项目名称:collective.quickupload,代码行数:25,代码来源:utils.py
示例19: items
def items(self):
results = [(name, TypeInterface(iface, self, name))
for name, iface in getUtilitiesFor(IInterface)
if iface.extends(IInterface)]
results.sort(lambda x, y: cmp(x[1].interface.getName(),
y[1].interface.getName()))
return results
开发者ID:jean,项目名称:zope.app.apidoc,代码行数:7,代码来源:type.py
示例20: update_vocabulary
def update_vocabulary(self, vocab):
site = getSite()
path = '/'.join(vocab.getPhysicalPath())
logger.info("Updating dynamic vocabulary: %s" % path)
vocab_id = vocab.vocabulary_id
registered_vocabs = [i[0] for i in getUtilitiesFor(IVocabularyFactory)]
if not vocab_id:
logger.warn(
"This vocabulary was not registered, you need to register "
"it first."
)
return False
elif vocab_id not in registered_vocabs:
logger.warn("There is no vocabulary registered with id: %s"
% vocab_id)
return False
vocabulary = queryUtility(IVocabularyFactory, vocab_id, context=site)
vocabulary.clearTerms()
for child in vocab.getChildNodes():
vocabulary.addTerm(child)
sm = site.getSiteManager()
sm.registerUtility(vocabulary, IVocabularyFactory, vocab_id)
logger.info("Vocabulary updated.")
return True
开发者ID:enfold,项目名称:collective.dynamicvocab,代码行数:33,代码来源:utility.py
注:本文中的zope.component.getUtilitiesFor函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论