Example #1
0
 def to_dict(self, obj, user_key_to_desc):
     d = super(JSComments, self).to_dict(obj, user_key_to_desc)
     user_key = db.resolve_post_uid(obj.parent_post(), obj.user)
     if user_key:
         d['user'] = user_key_to_desc.get(db.decode_key(user_key), user_key)
     else:
         d['user'] = '******'
     return d
Example #2
0
    def put(self, key=None):
        assert_editor(self)

        if not key:
            log.error('missing key')
            self.abort(httplib.BAD_REQUEST)

        try:
            data = json.loads(self.request.body)
        except (ValueError, TypeError) as err:
            log.error('bad put - %s', err)
            self.abort(httplib.BAD_REQUEST)

        try:
            comment = db.Comment.from_key(key)
        except db.NotFound:
            log.error('unknown comment - %s', key)
            self.abort(httplib.NOT_FOUND)

        created = data.get('created', None)
        if created:
            created = edit_str2dt(created)

        post = comment.parent_post()

        user = db.resolve_post_uid(comment.parent_post(), comment.user)
        if user:
            user = db.User.from_key(user)
        self.update_votes(comment, user, data, uid=comment.user)

        comment.content = data['content']
        comment.role = data['role']
        comment.role_text = data['role_text']
        if created:
            comment.created = created
        comment.put()
        self.respond({'ok': True})