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

Python model.Comment类代码示例

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

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



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

示例1: get_comment

    def get_comment(self, check_permissions=True):
        pk = self.kwargs[self.comment_lookup_url_kwarg]
        try:
            comment = Comment.find_one(Q('_id', 'eq', pk) & Q('root_target', 'ne', None))
        except NoResultsFound:
            raise NotFound

        # Deleted root targets still appear as tuples in the database and are included in
        # the above query, requiring an additional check
        if isinstance(comment.root_target.referent, TrashedFileNode):
            comment.root_target = None
            comment.save()

        if comment.root_target is None:
            raise NotFound

        if isinstance(comment.root_target.referent, StoredFileNode):
            root_target = comment.root_target
            referent = root_target.referent

            if referent.provider == 'osfstorage':
                try:
                    StoredFileNode.find(
                        Q('node', 'eq', comment.node._id) &
                        Q('_id', 'eq', referent._id) &
                        Q('is_file', 'eq', True)
                    )
                except NoResultsFound:
                    Comment.update(Q('root_target', 'eq', root_target), data={'root_target': None})
                    raise NotFound
            else:
                if referent.provider == 'dropbox':
                    # referent.path is the absolute path for the db file, but wb requires the relative path
                    referent = DropboxFile.load(referent._id)
                url = waterbutler_api_url_for(comment.node._id, referent.provider, referent.path, meta=True)
                waterbutler_request = requests.get(
                    url,
                    cookies=self.request.COOKIES,
                    headers={'Authorization': self.request.META.get('HTTP_AUTHORIZATION')},
                )

                if waterbutler_request.status_code == 401:
                    raise PermissionDenied

                if waterbutler_request.status_code == 404:
                    Comment.update(Q('root_target', 'eq', root_target), data={'root_target': None})
                    raise NotFound

                if is_server_error(waterbutler_request.status_code):
                    raise ServiceUnavailableError(detail='Could not retrieve files information at this time.')

                try:
                    waterbutler_request.json()['data']
                except KeyError:
                    raise ServiceUnavailableError(detail='Could not retrieve files information at this time.')

        if check_permissions:
            # May raise a permission denied
            self.check_object_permissions(self.request, comment)
        return comment
开发者ID:DanielSBrown,项目名称:osf.io,代码行数:60,代码来源:views.py


示例2: setUp

 def setUp(self):
     super(TestMigrateSpam, self).setUp()
     self.generic_report = {
         'category': 'spam',
         'text': 'spammer spam',
         'date': datetime.utcnow(),
         'retracted': False
     }
     Comment.remove()
     self.user = AuthUserFactory()
     self.comment_1 = CommentFactory()
     self.comment_1.spam_status = 0
     self.comment_1.reports[self.user._id] = self.generic_report
     self.comment_1.save()
     self.comment_2 = CommentFactory()
     self.comment_2.spam_status = 0
     self.comment_2.reports[self.user._id] = self.generic_report
     self.comment_2.save()
     self.comment_3 = CommentFactory()
     self.comment_3.spam_status = 0
     self.comment_3.save()
     self.comment_4 = CommentFactory()
     self.comment_4.date_last_reported = None
     self.comment_4.spam_status = Comment.FLAGGED
     self.comment_4.reports[self.user._id] = self.generic_report
     self.comment_4.save()
     self.comment_5 = CommentFactory()
     self.comment_5.date_last_reported = None
     self.comment_5.spam_status = Comment.UNKNOWN
     self.comment_5.save()
     self.comment_6 = CommentFactory()
     self.comment_6.date_last_reported = None
     self.comment_6.spam_status = Comment.SPAM
     self.comment_6.reports[self.user._id] = self.generic_report
     self.comment_6.save()
开发者ID:545zhou,项目名称:osf.io,代码行数:35,代码来源:test_migrate_spam.py


示例3: get_paginated_response

    def get_paginated_response(self, data):
        """Add number of unread comments to links.meta when viewing list of comments filtered by
        a target node, file or wiki page."""
        response = super(CommentPagination, self).get_paginated_response(data)
        response_dict = response.data
        kwargs = self.request.parser_context['kwargs'].copy()

        if self.request.query_params.get('related_counts', False):
            target_id = self.request.query_params.get('filter[target]', None)
            node_id = kwargs.get('node_id', None)
            node = Node.load(node_id)
            user = self.request.user
            if target_id and not user.is_anonymous() and node.is_contributor(user):
                root_target = Guid.load(target_id)
                if root_target:
                    page = getattr(root_target.referent, 'root_target_page', None)
                    if page:
                        if not len(data):
                            unread = 0
                        else:
                            unread = Comment.find_n_unread(user=user, node=node, page=page, root_id=target_id)
                        if self.request.version < '2.1':
                            response_dict['links']['meta']['unread'] = unread
                        else:
                            response_dict['meta']['unread'] = unread
        return Response(response_dict)
开发者ID:alexschiller,项目名称:osf.io,代码行数:26,代码来源:pagination.py


示例4: test_comments_move_when_folder_moved_to_different_provider

    def test_comments_move_when_folder_moved_to_different_provider(self, destination_provider, destination_path):
        if self.provider == destination_provider:
            return True

        self.project.add_addon(destination_provider, auth=Auth(self.user))
        self.project.save()
        self.addon_settings = self.project.get_addon(destination_provider)
        self.addon_settings.folder = "/AddonFolder"
        self.addon_settings.save()

        source = {"path": "/subfolder/", "node": self.project, "provider": self.provider}
        destination = {
            "path": "/subfolder/",
            "node": self.project,
            "provider": destination_provider,
            "children": [{"path": "/subfolder/file.txt", "node": self.project, "provider": destination_provider}],
        }
        file_name = "file.txt"
        self._create_file_with_comment(node=source["node"], path="{}{}".format(source["path"], file_name))
        payload = self._create_payload("move", self.user, source, destination, self.file._id)
        update_file_guid_referent(self=None, node=destination["node"], event_type="addon_file_moved", payload=payload)
        self.guid.reload()

        file_node = FileNode.resolve_class(destination_provider, FileNode.FILE).get_or_create(
            destination["node"], destination_path
        )
        assert_equal(self.guid._id, file_node.get_guid()._id)
        file_comments = Comment.find(Q("root_target", "eq", self.guid._id))
        assert_equal(file_comments.count(), 1)
开发者ID:ycchen1989,项目名称:osf.io,代码行数:29,代码来源:test_comments.py


示例5: test_comments_move_when_folder_moved_to_different_provider

    def test_comments_move_when_folder_moved_to_different_provider(self, destination_provider, destination_path):
        if self.provider == destination_provider:
            return True

        self.project.add_addon(destination_provider, auth=Auth(self.user))
        self.project.save()
        self.addon_settings = self.project.get_addon(destination_provider)
        self.addon_settings.folder = '/AddonFolder'
        self.addon_settings.save()

        source = {
            'path': '/subfolder/',
            'node': self.project,
            'provider': self.provider
        }
        destination = {
            'path': '/subfolder/',
            'node': self.project,
            'provider': destination_provider,
            'children': [{
                    'path': '/subfolder/file.txt',
                    'node': self.project,
                    'provider': destination_provider
            }]
        }
        file_name = 'file.txt'
        self._create_file_with_comment(node=source['node'], path='{}{}'.format(source['path'], file_name))
        payload = self._create_payload('move', self.user, source, destination, self.file._id)
        update_file_guid_referent(self=None, node=destination['node'], event_type='addon_file_moved', payload=payload)
        self.guid.reload()

        file_node = FileNode.resolve_class(destination_provider, FileNode.FILE).get_or_create(destination['node'], destination_path)
        assert_equal(self.guid._id, file_node.get_guid()._id)
        file_comments = Comment.find(Q('root_target', 'eq', self.guid._id))
        assert_equal(file_comments.count(), 1)
开发者ID:545zhou,项目名称:osf.io,代码行数:35,代码来源:test_comments.py


示例6: test_comments_move_when_file_moved_to_osfstorage

    def test_comments_move_when_file_moved_to_osfstorage(self):
        osfstorage = self.project.get_addon('osfstorage')
        root_node = osfstorage.get_root()
        osf_file = root_node.append_file('file.txt')
        osf_file.create_version(self.user, {
            'object': '06d80e',
            'service': 'cloud',
            osfstorage_settings.WATERBUTLER_RESOURCE: 'osf',
        }, {
            'size': 1337,
            'contentType': 'img/png',
            'etag': 'abcdefghijklmnop'
        }).save()

        source = {
            'path': '/file.txt',
            'node': self.project,
            'provider': self.provider
        }
        destination = {
            'path': osf_file.path,
            'node': self.project,
            'provider': 'osfstorage'
        }
        self._create_file_with_comment(node=source['node'], path=source['path'])
        payload = self._create_payload('move', self.user, source, destination, self.file._id, destination_file_id=destination['path'].strip('/'))
        update_file_guid_referent(self=None, node=destination['node'], event_type='addon_file_moved', payload=payload)
        self.guid.reload()

        file_node = FileNode.resolve_class('osfstorage', FileNode.FILE).get_or_create(destination['node'], destination['path'])
        assert_equal(self.guid._id, file_node.get_guid()._id)
        file_comments = Comment.find(Q('root_target', 'eq', self.guid._id))
        assert_equal(file_comments.count(), 1)
开发者ID:545zhou,项目名称:osf.io,代码行数:33,代码来源:test_comments.py


示例7: get_context_data

 def get_context_data(self, **kwargs):
     item = Comment.load(self.kwargs.get('spam_id'))
     kwargs = super(SpamDetail, self).get_context_data(**kwargs)
     kwargs.setdefault('page_number', self.request.GET.get('page', 1))
     kwargs.setdefault('comment', serialize_comment(item))
     kwargs.setdefault('status', self.request.GET.get('status', u'1'))
     return kwargs
开发者ID:DanielSBrown,项目名称:osf.io,代码行数:7,代码来源:views.py


示例8: get_queryset

 def get_queryset(self):
     query = (
         Q("reports", "ne", {})
         & Q("reports", "ne", None)
         & Q("spam_status", "eq", int(self.request.GET.get("status", "1")))
     )
     return Comment.find(query).sort(self.ordering)
开发者ID:ccfair,项目名称:osf.io,代码行数:7,代码来源:views.py


示例9: test_comments_move_when_folder_moved_to_osfstorage

    def test_comments_move_when_folder_moved_to_osfstorage(self):
        osfstorage = self.project.get_addon("osfstorage")
        root_node = osfstorage.get_root()
        osf_folder = root_node.append_folder("subfolder")
        osf_file = osf_folder.append_file("file.txt")
        osf_file.create_version(
            self.user,
            {"object": "06d80e", "service": "cloud", osfstorage_settings.WATERBUTLER_RESOURCE: "osf"},
            {"size": 1337, "contentType": "img/png", "etag": "1234567890abcde"},
        ).save()

        source = {"path": "/subfolder/", "node": self.project, "provider": self.provider}
        destination = {
            "path": "/subfolder/",
            "node": self.project,
            "provider": "osfstorage",
            "children": [{"path": "/subfolder/file.txt", "node": self.project, "provider": "osfstorage"}],
        }
        file_name = "file.txt"
        self._create_file_with_comment(node=source["node"], path="{}{}".format(source["path"], file_name))
        payload = self._create_payload(
            "move", self.user, source, destination, self.file._id, destination_file_id=osf_file._id
        )
        update_file_guid_referent(self=None, node=destination["node"], event_type="addon_file_moved", payload=payload)
        self.guid.reload()

        file_node = FileNode.resolve_class("osfstorage", FileNode.FILE).get_or_create(destination["node"], osf_file._id)
        assert_equal(self.guid._id, file_node.get_guid()._id)
        file_comments = Comment.find(Q("root_target", "eq", self.guid._id))
        assert_equal(file_comments.count(), 1)
开发者ID:ycchen1989,项目名称:osf.io,代码行数:30,代码来源:test_comments.py


示例10: get_queryset

 def get_queryset(self):
     query = (
         Q('reports', 'ne', {}) &
         Q('reports', 'ne', None) &
         Q('spam_status', 'eq', int(self.request.GET.get('status', '1')))
     )
     return Comment.find(query).sort(self.ordering)
开发者ID:545zhou,项目名称:osf.io,代码行数:7,代码来源:views.py


示例11: form_valid

 def form_valid(self, form):
     spam_id = self.kwargs.get('spam_id')
     item = Comment.load(spam_id)
     try:
         if int(form.cleaned_data.get('confirm')) == Comment.SPAM:
             item.confirm_spam()
             item.is_deleted = True
             log_message = 'Confirmed SPAM: {}'.format(spam_id)
             log_action = CONFIRM_SPAM
         else:
             item.confirm_ham()
             item.is_deleted = False
             log_message = 'Confirmed HAM: {}'.format(spam_id)
             log_action = CONFIRM_HAM
         item.save()
     except AttributeError:
         raise Http404('Spam with id "{}" not found.'.format(spam_id))
     update_admin_log(
         user_id=self.request.user.id,
         object_id=spam_id,
         object_repr='Comment',
         message=log_message,
         action_flag=log_action
     )
     return super(SpamDetail, self).form_valid(form)
开发者ID:fredtoh,项目名称:osf.io,代码行数:25,代码来源:views.py


示例12: test_find_unread_new_comments

 def test_find_unread_new_comments(self):
     project = ProjectFactory()
     user = UserFactory()
     project.add_contributor(user)
     project.save()
     comment = CommentFactory(node=project, user=project.creator)
     n_unread = Comment.find_n_unread(user=user, node=project)
     assert_equal(n_unread, 1)
开发者ID:AllisonLBowers,项目名称:osf.io,代码行数:8,代码来源:test_comments.py


示例13: test_find_unread_does_not_include_deleted_comments

 def test_find_unread_does_not_include_deleted_comments(self):
     project = ProjectFactory()
     user = AuthUserFactory()
     project.add_contributor(user)
     project.save()
     comment = CommentFactory(node=project, user=project.creator, is_deleted=True)
     n_unread = Comment.find_n_unread(user=user, node=project)
     assert_equal(n_unread, 0)
开发者ID:AllisonLBowers,项目名称:osf.io,代码行数:8,代码来源:test_comments.py


示例14: get_context_data

 def get_context_data(self, **kwargs):
     spam_id = self.kwargs.get("spam_id")
     try:
         kwargs.setdefault("comment", serialize_comment(Comment.load(spam_id)))
     except AttributeError:
         raise Http404("Spam with id {} not found.".format(spam_id))
     kwargs.setdefault("page_number", self.request.GET.get("page", "1"))
     kwargs.setdefault("status", self.request.GET.get("status", "1"))
     return super(EmailFormView, self).get_context_data(**kwargs)
开发者ID:ccfair,项目名称:osf.io,代码行数:9,代码来源:views.py


示例15: test_find_unread_includes_edited_comments

    def test_find_unread_includes_edited_comments(self):
        project = ProjectFactory()
        user = AuthUserFactory()
        project.add_contributor(user)
        project.save()
        comment = CommentFactory(node=project, user=project.creator)

        url = project.api_url_for("update_comments_timestamp")
        payload = {"page": "node", "rootId": project._id}
        res = self.app.put_json(url, payload, auth=user.auth)
        user.reload()
        n_unread = Comment.find_n_unread(user=user, node=project, page="node")
        assert_equal(n_unread, 0)

        # Edit previously read comment
        comment.edit(auth=Auth(project.creator), content="edited", save=True)
        n_unread = Comment.find_n_unread(user=user, node=project, page="node")
        assert_equal(n_unread, 1)
开发者ID:ycchen1989,项目名称:osf.io,代码行数:18,代码来源:test_comments.py


示例16: test_find_unread_includes_comment_replies

 def test_find_unread_includes_comment_replies(self):
     project = ProjectFactory()
     user = UserFactory()
     project.add_contributor(user)
     project.save()
     comment = CommentFactory(node=project, user=user)
     reply = CommentFactory(node=project, target=comment, user=project.creator)
     n_unread = Comment.find_n_unread(user=user, node=project)
     assert_equal(n_unread, 1)
开发者ID:AllisonLBowers,项目名称:osf.io,代码行数:9,代码来源:test_comments.py


示例17: get_context_data

 def get_context_data(self, **kwargs):
     spam_id = self.kwargs.get('spam_id')
     try:
         kwargs.setdefault('comment',
                           serialize_comment(Comment.load(spam_id)))
     except AttributeError:
         raise Http404('Spam with id {} not found.'.format(spam_id))
     kwargs.setdefault('page_number', self.request.GET.get('page', '1'))
     kwargs.setdefault('status', self.request.GET.get('status', '1'))
     return super(EmailFormView, self).get_context_data(**kwargs)
开发者ID:545zhou,项目名称:osf.io,代码行数:10,代码来源:views.py


示例18: test_create_comment_content_cannot_exceed_max_length

 def test_create_comment_content_cannot_exceed_max_length(self):
     with assert_raises(ValidationValueError):
         comment = Comment.create(
             auth=self.auth,
             user=self.comment.user,
             node=self.comment.node,
             target=self.comment.target,
             is_public=True,
             content=''.join(['c' for c in range(settings.COMMENT_MAXLENGTH + 1)])
         )
开发者ID:AllisonLBowers,项目名称:osf.io,代码行数:10,代码来源:test_comments.py


示例19: get_comment

    def get_comment(self, check_permissions=True):
        pk = self.kwargs[self.comment_lookup_url_kwarg]
        try:
            comment = Comment.find_one(Q('_id', 'eq', pk))
        except NoResultsFound:
            raise NotFound

        if check_permissions:
            # May raise a permission denied
            self.check_object_permissions(self.request, comment)
        return comment
开发者ID:mattspitzer,项目名称:osf.io,代码行数:11,代码来源:views.py


示例20: test_create_sends_comment_added_signal

 def test_create_sends_comment_added_signal(self):
     with capture_signals() as mock_signals:
         comment = Comment.create(
             auth=self.auth,
             user=self.comment.user,
             node=self.comment.node,
             target=self.comment.target,
             is_public=True,
             content='This is a comment.'
         )
     assert_equal(mock_signals.signals_sent(), set([comment_added]))
开发者ID:AllisonLBowers,项目名称:osf.io,代码行数:11,代码来源:test_comments.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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