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

Python event.objectEventNotify函数代码示例

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

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



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

示例1: update

    def update(self, item):
        objectEventNotify(ObjectWillBeModifiedEvent(item))

        item.title = _element_value(self, self.element, 'title')
        item.description = _element_value(self, self.element, 'description')

        objectEventNotify(ObjectModifiedEvent(item))
开发者ID:boothead,项目名称:karl,代码行数:7,代码来源:people.py


示例2: handle_submit

    def handle_submit(self, converted):
        context = self.context
        request = self.request
        workflow = self.workflow
        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))
        if 'security_state' in converted:
            if workflow is not None:
                workflow.transition_to_state(context, request,
                                             converted['security_state'])

        context.title = converted['title']
        context.text = converted['text']
        context.description = extract_description(converted['text'])

        # Tags and attachments
        set_tags(context, request, converted['tags'])
        creator = authenticated_userid(request)
        attachments_folder = context['attachments']
        upload_attachments(
            filter(lambda x: x is not None, converted['attachments']),
            attachments_folder,
            creator, request)

        # modified
        context.modified_by = authenticated_userid(request)
        objectEventNotify(ObjectModifiedEvent(context))

        location = resource_url(context, request)
        self.filestore.clear()
        return HTTPFound(location=location)
开发者ID:disko,项目名称:karl,代码行数:31,代码来源:blog.py


示例3: __delitem__

 def __delitem__(self, key):
     delnode = self[key]
     super(LifecycleNode, self).__delitem__(key)
     if self._notify_suppress:
         return
     objectEventNotify(self.events['removed'](delnode, oldParent=self,
                                              oldName=key))
开发者ID:attilaolah,项目名称:node,代码行数:7,代码来源:bbb.py


示例4: handle_submit

    def handle_submit(self, converted):
        request = self.request
        context = self.context

        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))

        simple_fields = ['title', 'text', 'caption', 'publication_date']
        for field in simple_fields:
            setattr(context, field, converted[field])

        # save tags, attachments, photo
        set_tags(context, request, converted['tags'])
        userid = authenticated_userid(request)
        attachments_folder = context['attachments']
        upload_attachments(converted['attachments'], attachments_folder,
                           userid, request)
        handle_photo_upload(context, converted)
        self.filestore.clear

        # mark as modified
        context.modified_by = userid
        objectEventNotify(ObjectModifiedEvent(context))

        location = resource_url(context, request)
        msg = "?status_message=News%20Item%20edited"
        return HTTPFound(location=location+msg)
开发者ID:mindreframer,项目名称:python-pyramid-stuff,代码行数:27,代码来源:newsitem.py


示例5: detach

 def detach(_next, self, key):
     self._notify_suppress = True
     node = _next(self, key)
     self._notify_suppress = False
     objectEventNotify(self.events['detached'](node, oldParent=self,
                                               oldName=key))
     return node
开发者ID:bluedynamics,项目名称:node,代码行数:7,代码来源:lifecycle.py


示例6: handle_submit

    def handle_submit(self, converted):
        context = self.context
        request = self.request
        workflow = self.workflow
        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))
        if workflow is not None:
            if 'security_state' in converted:
                workflow.transition_to_state(context, request,
                                             converted['security_state'])

        context.text = converted['text']
        context.description = extract_description(converted['text'])
        newtitle = converted['title']
        if newtitle != context.title:
            context.change_title(newtitle)

        # Save the tags on it
        set_tags(context, request, converted['tags'])

        # Modified
        context.modified_by = authenticated_userid(request)
        objectEventNotify(ObjectModifiedEvent(context))

        location = model_url(context, request)
        msg = "?status_message=Wiki%20Page%20edited"
        return HTTPFound(location=location+msg)
开发者ID:reebalazs,项目名称:karl,代码行数:27,代码来源:wiki.py


示例7: remove

    def remove(self, name, send_events=True):
        """See IFolder."""
        name = unicodify(name)
        other = self.data[name]

        if send_events:
            objectEventNotify(ObjectWillBeRemovedEvent(other, self, name))

        if hasattr(other, '__parent__'):
            del other.__parent__

        if hasattr(other, '__name__'):
            del other.__name__

        # backwards compatibility: add a Length _num_objects to folders that
        # have none
        if self._num_objects is None:
            self._num_objects = Length(len(self.data))

        del self.data[name]
        self._num_objects.change(-1)

        if self._order is not None:
            self._order = tuple([x for x in self._order if x != name])

        if send_events:
            objectEventNotify(ObjectRemovedEvent(other, self, name))

        return other
开发者ID:pingviini,项目名称:repoze.folder,代码行数:29,代码来源:__init__.py


示例8: handle_submit

    def handle_submit(self, converted):
        context = self.context
        request = self.request
        objectEventNotify(ObjectWillBeModifiedEvent(context))
        workflow = self.workflow
        if workflow is not None:
            if 'security_state' in converted:
                workflow.transition_to_state(context, request,
                                             converted['security_state'])
        context.title = converted['title']
        context.description = converted['description']
        context.text = converted['text']
        # NB: this is an edit form, so tags are added immediately via
        # AJAX; we needn't deal with setting them in the form post
        tools_present = [None]
        available_tools = self.available_tools
        for info in available_tools:
            component = info['component']
            tool_name = info['name']
            tools_present.append(tool_name)
            present = component.is_present(context, request)
            if (not present) and tool_name in converted['tools']:
                component.add(context, request)
            if present and (tool_name not in converted['tools']):
                component.remove(context, request)
                tools_present.remove(tool_name)
        if converted['default_tool'] in tools_present:
            context.default_tool = converted['default_tool']
        elif not (context.default_tool in tools_present):
            context.default_tool = None

        # *modified* event
        objectEventNotify(ObjectModifiedEvent(context))
        location = model_url(context, request)
        return HTTPFound(location=location)
开发者ID:boothead,项目名称:karl,代码行数:35,代码来源:community.py


示例9: handle_submit

    def handle_submit(self, converted):
        context = self.context
        request = self.request
        workflow = self.workflow

        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))
        if workflow is not None:
            if 'security_state' in converted:
                workflow.transition_to_state(context, request,
                                             converted['security_state'])

        context.title = converted['title']
        context.text = converted['text']
        context.description = extract_description(converted['text'])

        # Save the tags on it
        set_tags(context, request, converted['tags'])

        # Save new attachments
        creator = authenticated_userid(request)
        if support_attachments(context):
            upload_attachments(converted['attachments'], context['attachments'],
                               creator, request)

        # Modified
        context.modified_by = authenticated_userid(request)
        objectEventNotify(ObjectModifiedEvent(context))

        location = model_url(context, request,
                             query={'status_message':'Forum Topic Edited'})
        return HTTPFound(location=location)
开发者ID:boothead,项目名称:karl,代码行数:32,代码来源:forum.py


示例10: demo_events

def demo_events(load_zcml):
    gsm = getGlobalSiteManager()

    if load_zcml:
        from zope.configuration.xmlconfig import xmlconfig
        fname = __file__[:-3] + '.zcml'
        xmlconfig(open(fname))
    else:
        gsm.registerHandler(me.handle_some_event)
        gsm.registerHandler(me.handle_object_modified_event,
                            [me.IData, me.IObjectModifiedEvent])

    obj = me.Data()
    evt = me.SomeEvent()
    evt.object = obj

    if load_zcml:
        notify(evt)
    else:
        handle(evt)

    assert obj.data == 'changed'

    obj.data = 'unchanged'

    if load_zcml:
        notify(me.ObjectModifiedEvent(obj))
    else:
        objectEventNotify(me.ObjectModifiedEvent(obj))

    assert obj.data == 'changed'

    print "Done"
开发者ID:tiberiuichim,项目名称:ZopeTraining,代码行数:33,代码来源:e04_event_handlers.py


示例11: __delitem__

 def __delitem__(_next, self, key):
     delnode = self[key]
     _next(self, key)
     if self._notify_suppress:
         return
     objectEventNotify(self.events['removed'](delnode, oldParent=self,
                                              oldName=key))
开发者ID:bluedynamics,项目名称:node,代码行数:7,代码来源:lifecycle.py


示例12: handle_submit

    def handle_submit(self, converted):
        request = self.request
        context = self.context
        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))
        if converted.get('middle_portlets'):
            middle_portlets = split_lines(converted['middle_portlets'])
        else:
            middle_portlets = []
        if converted.get('right_portlets'):
            right_portlets = split_lines(converted['right_portlets'])
        else:
            right_portlets = []
        context.title = converted['title']
        context.address = converted['address']
        context.city = converted['city']
        context.state = converted['state']
        context.country = converted['country']
        context.zipcode = converted['zipcode']
        context.telephone = converted['telephone']
        context.navigation = clean_html(converted['navigation'])
        context.middle_portlets = middle_portlets
        context.right_portlets = right_portlets
        context.css = converted['css']
        # *modified* event
        objectEventNotify(ObjectModifiedEvent(context))

        location = resource_url(context.__parent__['intranets'], request)
        return HTTPFound(location=location)
开发者ID:disko,项目名称:karl,代码行数:29,代码来源:intranets.py


示例13: handle_submit

    def handle_submit(self, params):
        context = self.context
        objectEventNotify(ObjectWillBeModifiedEvent(context))

        if self.use_folder_options:
            noLongerProvides(context, IReferencesFolder)
            noLongerProvides(context, INetworkNewsMarker)
            noLongerProvides(context, INetworkEventsMarker)
            marker = params.get("marker")
            if marker == "reference_manual":
                alsoProvides(context, IReferencesFolder)
            elif marker == "network_news":
                alsoProvides(context, INetworkNewsMarker)
            elif marker == "network_events":
                alsoProvides(context, INetworkEventsMarker)

        keywords = params.get("keywords")
        if keywords is not None:
            context.search_keywords = keywords

        weight = params.get("weight")
        if weight is not None:
            context.search_weight = weight

        if self.use_unlock and params.get("unlock"):
            lock.clear(context)

        objectEventNotify(ObjectModifiedEvent(context))
        return HTTPFound(
            location=resource_url(self.context, self.request, query={"status_message": "Advanced settings changed."})
        )
开发者ID:lslaz1,项目名称:karl,代码行数:31,代码来源:advanced.py


示例14: handle_submit

    def handle_submit(self, converted):
        context = self.context
        request = self.request
        userid = authenticated_userid(request)
        # *will be* modified event
        objectEventNotify(ObjectWillBeModifiedEvent(context))

        context.title = converted['title']
        context.text = converted['text']
        context.description = extract_description(converted['text'])

        # tags and attachments
        set_tags(context, request, converted['tags'])
        creator = userid
        attachments_folder = context['attachments']
        upload_attachments(converted['attachments'], attachments_folder,
                           creator, request)

        # modified
        context.modified_by = userid
        objectEventNotify(ObjectModifiedEvent(context))

        self.filestore.clear()
        location = resource_url(context, request)
        msg = "?status_message=Page%20edited"
        return HTTPFound(location=location+msg)
开发者ID:araymund,项目名称:karl,代码行数:26,代码来源:page.py


示例15: add

    def add(self, name, other, send_events=True):
        """See IFolder."""
        if not isinstance(name, basestring):
            raise TypeError("Name must be a string rather than a %s" %
                            name.__class__.__name__)
        if not name:
            raise TypeError("Name must not be empty")

        name = unicodify(name)

        if name in self.data:
            raise KeyError('An object named %s already exists' % name)

        if send_events:
            objectEventNotify(ObjectWillBeAddedEvent(other, self, name))
        other.__parent__ = self
        other.__name__ = name

        # backwards compatibility: add a Length _num_objects to folders that
        # have none
        if self._num_objects is None:
            self._num_objects = Length(len(self.data))

        self.data[name] = other
        self._num_objects.change(1)

        if self._order is not None:
            self._order += (name,)

        if send_events:
            objectEventNotify(ObjectAddedEvent(other, self, name))
开发者ID:pingviini,项目名称:repoze.folder,代码行数:31,代码来源:__init__.py


示例16: appmaker

def appmaker(zodb_root):
    try:
        return zodb_root['app_root']
    except KeyError:
        from pyramid.threadlocal import get_current_registry
        from zope.interface import alsoProvides
        from zope.component.event import objectEventNotify
        import transaction
        from arche.utils import get_content_factories
        from arche.interfaces import IRoot
        from arche.populators import root_populator
        from arche.models.evolver import run_initial_migrations
        from arche.events import ObjectAddedEvent

        factories = get_content_factories()
        #This is where initial population takes place, but first some site setup
        if not 'initial_setup' in zodb_root or not zodb_root['initial_setup'].setup_data:
            InitialSetup = factories['InitialSetup']
            zodb_root['initial_setup'] = InitialSetup()
            transaction.commit()
            return zodb_root['initial_setup']
        else:
            #FIXME move this population to its own method so tests can use it
            #Root added
            data = dict(zodb_root['initial_setup'].setup_data)
            #Attach and remove setup context
            zodb_root['app_root'] = root = root_populator(**data)
            transaction.commit()
            run_initial_migrations(root)
            # Manually notify added event
            objectEventNotify(ObjectAddedEvent(root, None, None))
            del zodb_root['initial_setup']
            return root
开发者ID:ArcheProject,项目名称:Arche,代码行数:33,代码来源:__init__.py


示例17: store

 def store(self, user, data):
     assert IUser.providedBy(user)
     assert isinstance(data, dict)
     provider_data = IProviderData(user)
     #Check if data already exist and if it needs to be updated
     stored_keys = set()
     if self.name in provider_data:
         curr_data = provider_data[self.name]
         #Check existing keys
         for (k, v) in data.items():
             if curr_data.get(k, object()) != v:
                 curr_data[k] = v
                 stored_keys.add(k)
         #Remove unused keys
         for k in set(curr_data) - set(data):
             del curr_data[k]
             #We don't need to track updated here
     else:
         provider_data[self.name] = data
         stored_keys.update(data)
     if stored_keys:
         self.logger.debug("provider %s data changed for user %s", self.name, user.userid)
         event = ObjectUpdatedEvent(user, changed = ['pas_ident'])
         objectEventNotify(event)
     return stored_keys
开发者ID:ArcheProject,项目名称:arche_pas,代码行数:25,代码来源:models.py


示例18: handle_submit

 def handle_submit(self, converted):
     context = self.context
     request = self.request
     users = self.users
     userid = self.userid
     user = self.user
     if user is not None:
         login = converted.get('login')
         login_changed = users.get_by_login(login) != user
         if (login_changed and
             (users.get_by_id(login) is not None or
              users.get_by_login(login) is not None or
              login in context)):
             msg = "Login '%s' is already in use" % login
             raise ValidationError(login=msg)
     objectEventNotify(ObjectWillBeModifiedEvent(context))
     if user is not None:
         # Set new login
         try:
             users.change_login(userid, converted['login'])
         except ValueError, e:
             raise ValidationError(login=str(e))
         # Set group memberships
         user_groups = self.user_groups
         chosen_groups = set(converted['groups'])
         for group, group_title in self.group_options:
             if group in chosen_groups and group not in user_groups:
                 users.add_user_to_group(userid, group)
             if group in user_groups and group not in chosen_groups:
                 users.remove_user_from_group(userid, group)
         # Edit password
         if converted.get('password', None):
             users.change_password(userid, converted['password'])
开发者ID:claytron,项目名称:karl,代码行数:33,代码来源:people.py


示例19: handle_submit

    def handle_submit(self, params):
        context = self.context
        objectEventNotify(ObjectWillBeModifiedEvent(context))

        if self.use_folder_options:
            noLongerProvides(context, IReferencesFolder)
            noLongerProvides(context, INetworkNewsMarker)
            noLongerProvides(context, INetworkEventsMarker)
            marker = params.get('marker')
            if marker == 'reference_manual':
                alsoProvides(context, IReferencesFolder)
            elif marker == 'network_news':
                alsoProvides(context, INetworkNewsMarker)
            elif marker == 'network_events':
                alsoProvides(context, INetworkEventsMarker)

        keywords = params.get('keywords')
        if keywords is not None:
            context.search_keywords = keywords

        weight = params.get('weight')
        if weight is not None:
            context.search_weight = weight

        objectEventNotify(ObjectModifiedEvent(context))
        return HTTPFound(location=model_url(self.context, self.request,
                    query={'status_message': 'Advanced settings changed.'}))
开发者ID:reebalazs,项目名称:karl,代码行数:27,代码来源:advanced.py


示例20: edit_referencesection_view

def edit_referencesection_view(context, request):

    tags_list = request.POST.getall('tags')
    form = EditReferenceSectionForm(tags_list=tags_list)

    if 'form.cancel' in request.POST:
        return HTTPFound(location=model_url(context, request))

    if 'form.submitted' in request.POST:
        try:
            converted = form.validate(request.POST)
            # *will be* modified event
            objectEventNotify(ObjectWillBeModifiedEvent(context))

            context.title = converted['title']
            context.description = converted['description']

            # Save the tags on it
            set_tags(context, request, converted['tags'])

            # Modified
            context.modified_by = authenticated_userid(request)
            objectEventNotify(ObjectModifiedEvent(context))

            location = model_url(context, request)
            msg = "?status_message=Reference%20section%20edited"
            return HTTPFound(location=location+msg)

        except Invalid, e:
            fielderrors = e.error_dict
            fill_values = form.convert(request.POST)
开发者ID:boothead,项目名称:karl,代码行数:31,代码来源:references.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python eventtesting.getEvents函数代码示例发布时间:2022-05-26
下一篇:
Python component.subscribers函数代码示例发布时间: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