BaySchoolCS2 / ProjectRepo

Whirpl - A network designed with small communities in mind
MIT License
1 stars 9 forks source link

Error when commenting #105

Closed michardy closed 9 years ago

michardy commented 9 years ago
Traceback (most recent call last):
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask_restful/__init__.py", line 265, in error_router
    return original_handler(e)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask_restful/__init__.py", line 265, in error_router
    return original_handler(e)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/michael/Code/CS2/ProjectRepo/application/post.py", line 123, in newComment
    post.save()
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/mongoengine/document.py", line 287, in save
    self.validate(clean=clean)
  File "/home/michael/Code/CS2/ProjectRepo/venv/lib/python2.7/site-packages/mongoengine/base/document.py", line 411, in validate
    raise ValidationError(message, errors=errors)
ValidationError: ValidationError (Posts:555d2d428e774516909d5b4b) (body.StringField only accepts string values: ['comments'])

The code at fault code appears to try to put a list into a string field. What does this code do? It appears to split the comment body into a list by spaces, test if each word contains three > characters followed by three identical letters or numbers. And adds the list of words to the comment variable if this is not true.

        content = form.content.data.split(" ")
        for c in content:
            if re.match('>{3}[0-9a-f]{8}\b', c) == None:
                c = Comment(author=user, body=content, commentid=str(uuid.uuid4())[:8])
                post.comments.append(c)
            post.save()
fhebert-perkins commented 9 years ago

Done