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

Python annotation.IAnnotations类代码示例

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

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



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

示例1: __init__

 def __init__(self, context):
     self.ideal_wrapper = getUtility(IMollieIdeal)
     annotations = IAnnotations(context)
     self._metadata = annotations.get(IDEAL_PAYMENT_ANNOTATION_KEY, None)
     if self._metadata is None:
         self._metadata = PersistentMapping()
         annotations[IDEAL_PAYMENT_ANNOTATION_KEY] = self._metadata
开发者ID:collective,项目名称:collective.mollie,代码行数:7,代码来源:adapter.py


示例2: BasicProfile

class BasicProfile(object):

    implements(IBasicProfile)
    adapts(IPrincipal)

    def __init__(self, principal):
        self.annotations = IAnnotations(principal)
        self.principal = principal

    @setproperty
    def name(self, v):
        self.annotations['name'] = v

        # for principalfolder search
        ip = internal_principal(self.principal.id)
        ip.title = v

    @getproperty
    def name(self):
        return self.annotations.get('name', self.principal.title)

    @setproperty
    def email(self, v):
        self.annotations['email'] = v

    @getproperty
    def email(self):
        return self.annotations.get('email', u'')
开发者ID:ilshad,项目名称:tackle,代码行数:28,代码来源:profile.py


示例3: __init__

 def __init__(self, context):
     self.context = context
     self.portal = getToolByName(self.context, 'portal_url').getPortalObject()
     storage = IAnnotations(self.portal)
     if not storage.has_key(STORAGE_KEY):
         storage[STORAGE_KEY] = PersistentDict()
     self.storage = storage[STORAGE_KEY]
开发者ID:Raptus,项目名称:raptus.workflownotificationtemplates,代码行数:7,代码来源:adapter.py


示例4: __init__

 def __init__(self, context):
     self.context = self.__parent__  = context # see PvWh book site 269
     annotations = IAnnotations(context)
     mapping = annotations.get(EntryNavAnnotations_KEY)
     if mapping is None:
         mapping = annotations[EntryNavAnnotations_KEY] = PersistentDict({'name': '', 'order': 0})
     self.mapping = mapping
开发者ID:return1,项目名称:stadtgespraeche,代码行数:7,代码来源:entry.py


示例5: registerPersistentConfig

def registerPersistentConfig(site, type_):
    """ Try to get persistent pipeline configuration of given type (export or import)
        and register it for use with transmogrifier.
    """
    global CONFIGFILE
    anno = IAnnotations(site)
    key = '%s.%s' % (ANNOKEY, type_)
    config = anno.has_key(key) and anno[key] or None

    # unregister old config
    name = 'persitent-%s' % type_
    if name in configuration_registry._config_ids:
        configuration_registry._config_ids.remove(name)
        del configuration_registry._config_info[name]

    # register new
    if config is not None:
        title = description = u'Persistent %s pipeline'
        tf = tempfile.NamedTemporaryFile('w+t', suffix='.cfg')
        tf.write(config)
        tf.seek(0)
        CONFIGFILE = tf
        configuration_registry.registerConfiguration(name, title, description, tf.name)
        return name
    else:
        return None
开发者ID:acsr,项目名称:quintagroup.transmogrifier,代码行数:26,代码来源:exportimport.py


示例6: _getHandle

 def _getHandle(self, context):
     """
     Helper method looking up the handle in the context's annotation.
     Returns None if not existing.
     """
     annotations = IAnnotations(context)
     return annotations.get(KEY, None)
开发者ID:collective,项目名称:collective.handleclient,代码行数:7,代码来源:handle_client.py


示例7: get_users_statistics_reports

def get_users_statistics_reports(site):
    """ Get existing reports saved in annotations
    """
    annotations = IAnnotations(site)
    reports = annotations.get(USERS_STATISTICS_KEY, None)

    return reports
开发者ID:eea,项目名称:land.copernicus.content,代码行数:7,代码来源:users_statistics.py


示例8: NotificationConfiglet

class NotificationConfiglet(BrowserView):
    
    template = ViewPageTemplateFile('configlet.pt')
    
    def __call__(self, delete=None):
        self.storage = IAnnotations(self.context)
        if delete and self.storage.has_key(STORAGE_KEY) and self.storage[STORAGE_KEY].has_key(delete):
            del self.storage[STORAGE_KEY][delete]
            statusmessages = IStatusMessage(self.request)
            statusmessages.addStatusMessage(_('message_deleted', default='Notification template deleted'), type='info')
        
        return self.template()
    
    @memoize
    def templates(self):
        if not self.storage.has_key(STORAGE_KEY):
            return []
        templates_raw = self.storage.get(STORAGE_KEY)
        vocabulary = availableWorkflows(self.context)
        templates = []
        for name, template in templates_raw.items():
            template = {'name': name,
                        'template': template}
            try:
                term = vocabulary.getTermByToken(name)
                template.update(dict(title=(term.title or term.token)))
            except:
                pass
            templates.append(template)
        return templates
开发者ID:Raptus,项目名称:raptus.workflownotificationtemplates,代码行数:30,代码来源:configlet.py


示例9: disable_behaviors

def disable_behaviors(obj, behaviors, ifaces, reindex=True):
    """ Disable behaviors on an object.

    :param obj: The Dexterity content object to disable behaviors on.
    :type obj: object
    :param behaviors: Behaviors to be disabled on the object. This is a list of
                      dotted names of behavior schema interfaces.
    :type behaviors: list or tuple
    :param ifaces: Behavior marker interfaces belonging to the behaviors to be
                   disabled. This is a list of interface classes.
    :type ifaces: class
    :param reindex: Flag whether to reindex object after modification
    :type reindex: bool

    Use it like so:

    >>> from plone.app.event.dx.interfaces import IDXEvent
    >>> disable_behaviors(obj, ['plone.app.event.dx.behaviors.IEventBasic',],
    ...                        [IDXEvent,])
    """
    annotations = IAnnotations(obj)
    instance_behaviors = annotations.get(ANNOTATION_KEY, ())
    instance_behaviors = filter(lambda x: x not in behaviors,
                                instance_behaviors)
    annotations[ANNOTATION_KEY] = instance_behaviors

    for iface in ifaces:
        noLongerProvides(obj, iface)

    if reindex:
        obj.reindexObject(idxs=('object_provides'))
开发者ID:collective,项目名称:collective.instancebehavior,代码行数:31,代码来源:__init__.py


示例10: __call__

 def __call__(self):
     form = self.request.form
     context = aq_inner(self.context)
     annotations = IAnnotations(context)['collective.pfg.payment']
     if form.get("form.button.UpdateNumber", None) is not None:
         sdm = getToolByName(context, 'session_data_manager')
         session = sdm.getSessionData(create=False)
         if session is not None:
             if session.get('collective.pfg.payment.number', None) is not None:
                 del session['collective.pfg.payment.number']
         re = getUtility(IRegularExpression)
         numbering_type = form.get('numbering_type')
         if numbering_type == 'Incremental':
             annotations.numbering_type = 'Incremental'
             next_incremental_number = form.get('next_incremental_number', None)
             if re.integer(next_incremental_number):
                 annotations.next_incremental_number = int(next_incremental_number)
             else:
                 message = _(u"Please input integer number for the incremental number.")
                 IStatusMessage(self.request).addStatusMessage(message, type='warn')
         elif numbering_type == 'Random':
             annotations.numbering_type = 'Random'
             random_number_digits = form.get('random_number_digits', None)
             if re.integer(random_number_digits):
                 annotations.random_number_digits = int(random_number_digits)
             else:
                 message = _(u"Please input integer number for the randome digits.")
                 IStatusMessage(self.request).addStatusMessage(message, type='warn')
     return self.template()
开发者ID:taito,项目名称:collective.pfg.payment,代码行数:29,代码来源:template.py


示例11: after_resolve_jobs_pending

 def after_resolve_jobs_pending(self):
     """This flag tracks whether these jobs have already been executed for
     a resolved dossier, or are still pending (because they have been
     deferred to a nightly job).
     """
     ann = IAnnotations(self.context)
     return ann.get(AFTER_RESOLVE_JOBS_PENDING_KEY, False)
开发者ID:4teamwork,项目名称:opengever.core,代码行数:7,代码来源:resolve.py


示例12: _default_stylebook

 def _default_stylebook(self):
     if not getattr(self, '_default', None):
         if not [o.getId() for o in self.stylebooks()]:
             return None
         anno = IAnnotations(self.context).get(ANNO_KEY, {})
         self._default = anno.get('default_stylebook', None)
     return self._default
开发者ID:upiq,项目名称:uu.chart,代码行数:7,代码来源:styles.py


示例13: __call__

 def __call__(self, *args, **kw):
     context = self.context
     request = self.request
     request.set('disable_border', 1)
     # following two only on Plone 4+
     request.set('disable_plone.leftcolumn', 1)
     request.set('disable_plone.rightcolumn', 1)
     self.error = False
     
     token = request.form.get('token')
     path = request.form.get('path')
     comment = request.form.get('comment', None)
     
     doc = context.unrestrictedTraverse(path)
     conf = IAnnotations(doc).get('share-tokens')
     
     if conf.get('reject') and conf.get('reject')==token and not comment.strip():
         # comment when rejecting is required
         context.plone_utils.addPortalMessage(_(u'When rejecting, a motivation is required'),
                                              type='error')
         request.response.redirect(request.form.get('came_from') or context.absolute_url())
         return
     
     try:
         self.result = ConsumePowerTokenView.__call__(self, comment=comment, **kw)[0]
     except PowerTokenSecurityError:
         self.result = None
         self.error = True
     return self.index()
开发者ID:RedTurtle,项目名称:auslfe.formonline.tokenaccess,代码行数:29,代码来源:approve.py


示例14: update_opengraphable_objects

def update_opengraphable_objects(context, new_ct):
    g_marker = queryUtility(IOpengraphMarkerUtility)
    if not g_marker:
        return
    options = IAnnotations(context)

    ct = getToolByName(context, 'portal_catalog')

    olds_pt = options.get('old_content_types', [])
    if new_ct == olds_pt:
        return
    adds = []
    for new in new_ct:
        if new in olds_pt:
            olds_pt.remove(new)
        else:
            adds.append(new)

    nb_items, bad_items = g_marker.update(context, adds, olds_pt)
    updated = u'%d %s' % (nb_items, _(u'objects updated.'))
    if not bad_items:
        message = updated
    else:
        message = u'%s, %d %s: %s' % (updated,
                                      len(bad_items),
                                      _(u'update(s) on object(s) failed'),
                                      ','.join(bad_items), )
    pu = getToolByName(context, 'plone_utils')
    pu.addPortalMessage(message)
开发者ID:collective,项目名称:collective.opengraph,代码行数:29,代码来源:utils.py


示例15: handle

 def handle(self):
     """
     Looks up the handle in the context's annotation.
     Returns None if not found.
     """
     annotations = IAnnotations(self.context)
     return annotations.get(KEY, None)
开发者ID:collective,项目名称:collective.handleclient,代码行数:7,代码来源:handle.py


示例16: disable_behaviors

def disable_behaviors(obj, behaviors, ifaces):
    """ Disable behaviors on an object.

    :param obj: The Dexterity content object to disable behaviors on.
    :type obj: object
    :param behaviors: Behaviors to be disabled on the object. This is a list of
                      dotted names of behavior schema interfaces.
    :type behaviors: list
    :param ifaces: Behavior marker interfaces belonging to the behaviors to be
                   disabled. This is a list of interface classes.
    :type ifaces: class

    Use it like so:
    >>> from plone.app.event.dx.interfaces import IDXEvent
    >>> disable_behaviors(obj, ['plone.app.event.dx.behaviors.IEventBasic',],
    ...                        [IDXEvent,])

    """
    annotations = IAnnotations(obj)
    instance_behaviors = list(annotations.get(KEY, []))
    instance_behaviors = filter(lambda x: x not in behaviors,
                                instance_behaviors)
    annotations[KEY] = instance_behaviors

    for iface in ifaces:
        noLongerProvides(obj, iface)

    # TODO UNTESTED:
    obj.reindexObject(idxs=('object_provides'))
开发者ID:g24at,项目名称:g24.elements,代码行数:29,代码来源:instancebehaviors.py


示例17: get_slid

 def get_slid(self):
     """slideshare slideshowid or redirect to upload"""
     annotations = IAnnotations(self.context)
     sl_id = annotations.get(KEY, None)
     if sl_id:
         return sl_id
     else:
         if IATFile.providedBy(self.context):
             if self.context.getContentType() in SLIDES_MIMETYPES:
                 self.request.response.redirect(
                     self.context.absolute_url() +
                             '/@@slideshare_post.html')
             else:
                 msg = _(u"This file does not seem to be a presentation")
                 IStatusMessage(self.request).addStatusMessage(msg,
                         type='error')
         elif IATLink.providedBy(self.context):
             urlob = urlparse(self.context.getRemoteUrl())
             if urlob.hostname == 'www.slideshare.net':
                  self.request.response.redirect(
                     self.context.absolute_url() +
                             '/@@slideshare_getid.html')
             else:
                 msg = _(u"This is not a valid slideshare URL")
                 IStatusMessage(self.request).addStatusMessage(msg,
                         type='error')
开发者ID:collective,项目名称:collective.slideshare,代码行数:26,代码来源:views.py


示例18: queue

 def queue(self):
     queue = getattr(self, "_queue", None)
     if queue is None:
         annotations = IAnnotations(self.context)
         if not annotations.has_key(self.key):
             annotations[self.key] = IOBTree()
         self._queue = annotations[self.key]
     return self._queue
开发者ID:socialplanning,项目名称:ClockQueue,代码行数:8,代码来源:__init__.py


示例19: _migrate_related_items_annotations

 def _migrate_related_items_annotations(self):
     query = {'portal_type': 'opengever.document.document',
              'object_provides': IHasRelations.__identifier__}
     for obj in self.objects(query, 'Migrate relatedItems annotations'):
         ann = IAnnotations(obj)
         if OLD_KEY in ann:
             ann[NEW_KEY] = ann[OLD_KEY]
             ann.pop(OLD_KEY)
开发者ID:4teamwork,项目名称:opengever.core,代码行数:8,代码来源:to3401.py


示例20: test_setData_stores_data

    def test_setData_stores_data(self):
        annotations = IAnnotations(self.layer['portal'])
        self.assertIsNone(annotations.get(ANNOTATION_KEY))

        component = getAdapter(self.layer['portal'], IDataCollector,
                               name='ftw.servicenavigation')
        component.setData(EXAMPLE_DATA)
        self.assertEqual(EXAMPLE_DATA, annotations[ANNOTATION_KEY])
开发者ID:4teamwork,项目名称:ftw.publisher.core,代码行数:8,代码来源:test_ftw_servicenavigation.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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