{"action":"created","issue":{"url":"https://api.github.com/repos/6-6/CloudMind/issues/40","labels_url":"https://api.github.com/repos/6-6/CloudMind/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/6-6/CloudMind/issues/40/comments","events_url":"https://api.github.com/repos/6-6/CloudMind/issues/40/events","html_url":"https://github.com/6-6/CloudMind/issues/40","id":116478288,"number":40,"title":"node update 에러","user":{"login":"RainC","id":3627483,"avatar_url":"https://avatars.githubusercontent.com/u/3627483?v=3","gravatar_id":"","url":"https://api.github.com/users/RainC","html_url":"https://github.com/RainC","followers_url":"https://api.github.com/users/RainC/followers","following_url":"https://api.github.com/users/RainC/following{/other_user}","gists_url":"https://api.github.com/users/RainC/gists{/gist_id}","starred_url":"https://api.github.com/users/RainC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RainC/subscriptions","organizations_url":"https://api.github.com/users/RainC/orgs","repos_url":"https://api.github.com/users/RainC/repos","events_url":"https://api.github.com/users/RainC/events{/privacy}","received_events_url":"https://api.github.com/users/RainC/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-12T04:43:05Z","updated_at":"2015-11-12T12:16:37Z","closed_at":null,"body":"현재 노드 업데이트 부분에서 전체적으로 에러가 발생하는듯 합니다.\r\n\r\n주소는 http://localhost:8080/api/v1/node/update 이고\r\n\r\n노드 ModalView 에서 값을 변경하려 할때\r\n\r\n{\"node_idx\":4,\"node_name\":\"dsfsdf\",\"description\":\"dsfsdf\",\"due_date\":null}\r\n\r\n다음과 같은 payload 값을 보내면 500 코드와 함께 에러 메세지가 발생합니다.\r\n\r\n또한 할당된 인원을 추가하려 할때도 에러가 발생하여서, 아마 내부 처리에서 문제가 생기는것 같습니다"},"comment":{"url":"https://api.github.com/repos/6-6/CloudMind/issues/comments/156088398","html_url":"https://github.com/6-6/CloudMind/issues/40#issuecomment-156088398","issue_url":"https://api.github.com/repos/6-6/CloudMind/issues/40","id":156088398,"user":{"login":"RainC","id":3627483,"avatar_url":"https://avatars.githubusercontent.com/u/3627483?v=3","gravatar_id":"","url":"https://api.github.com/users/RainC","html_url":"https://github.com/RainC","followers_url":"https://api.github.com/users/RainC/followers","following_url":"https://api.github.com/users/RainC/following{/other_user}","gists_url":"https://api.github.com/users/RainC/gists{/gist_id}","starred_url":"https://api.github.com/users/RainC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RainC/subscriptions","organizations_url":"https://api.github.com/users/RainC/orgs","repos_url":"https://api.github.com/users/RainC/repos","events_url":"https://api.github.com/users/RainC/events{/privacy}","received_events_url":"https://api.github.com/users/RainC/received_events","type":"User","site_admin":false},"created_at":"2015-11-12T12:16:37Z","updated_at":"2015-11-12T12:16:37Z","body":"[노드 description 수정]\r\n\r\nPOST http://localhost:8080/api/v1/node/update \r\n\r\nPayload : {\"node_idx\":4,\"node_name\":\"test\",\"description\":\"sdfsdfsd\",\"due_date\":null}\r\n\r\n<Response>\r\n\r\nbuiltins.AttributeError\r\n\r\nAttributeError: 'NoneType' object has no attribute 'read'\r\n\r\nTraceback (most recent call last)\r\n\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1836, in __call__\r\n\r\nreturn self.wsgi_app(environ, start_response)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1820, in wsgi_app\r\n\r\nresponse = self.make_response(self.handle_exception(e))\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 270, in error_router\r\n\r\nreturn original_handler(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1403, in handle_exception\r\n\r\nreraise(exc_type, exc_value, tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/_compat.py\", line 32, in reraise\r\n\r\nraise value.with_traceback(tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1817, in wsgi_app\r\n\r\nresponse = self.full_dispatch_request()\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1477, in full_dispatch_request\r\n\r\nrv = self.handle_user_exception(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 270, in error_router\r\n\r\nreturn original_handler(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1381, in handle_user_exception\r\n\r\nreraise(exc_type, exc_value, tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/_compat.py\", line 32, in reraise\r\n\r\nraise value.with_traceback(tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1475, in full_dispatch_request\r\n\r\nrv = self.dispatch_request()\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1461, in dispatch_request\r\n\r\nreturn self.view_functions[rule.endpoint](**req.view_args)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 471, in wrapper\r\n\r\nresp = resource(*args, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/views.py\", line 84, in view\r\n\r\nreturn self.dispatch_request(*args, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 581, in dispatch_request\r\n\r\nresp = meth(*args, **kwargs)\r\nFile \"/Users/rainc/SoMa2/CloudMind/cloudmind/restful/v1/node.py\", line 138, in post\r\n\r\ndue_date = date_parser.parse(args['due_date'])\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 1008, in parse\r\n\r\nreturn DEFAULTPARSER.parse(timestr, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 392, in parse\r\n\r\nres = self._parse(timestr, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 492, in _parse\r\n\r\nl = _timelex.split(timestr)         # Splits the timestr into tokens\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 174, in split\r\n\r\nreturn list(cls(s))\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 164, in __next__\r\n\r\ntoken = self.get_token()\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/dateutil/parser.py\", line 82, in get_token\r\n\r\nnextchar = self.instream.read(1)\r\nAttributeError: 'NoneType' object has no attribute 'read'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[캘린더에서 노드 날짜 변경]\r\n\r\nPOST http://localhost:8080/api/v1/node/update\r\n\r\nPayload : {\"node_idx\":3,\"node_name\":\"IDC\",\"description\":null,\"due_date\":\"2015-11-11\"}\r\n\r\nbuiltins.KeyError\r\n\r\n<Response>\r\n\r\nKeyError: 'assigned_users'\r\n\r\nTraceback (most recent call last)\r\n\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1836, in __call__\r\n\r\nreturn self.wsgi_app(environ, start_response)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1820, in wsgi_app\r\n\r\nresponse = self.make_response(self.handle_exception(e))\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 270, in error_router\r\n\r\nreturn original_handler(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1403, in handle_exception\r\n\r\nreraise(exc_type, exc_value, tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/_compat.py\", line 32, in reraise\r\n\r\nraise value.with_traceback(tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1817, in wsgi_app\r\n\r\nresponse = self.full_dispatch_request()\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1477, in full_dispatch_request\r\n\r\nrv = self.handle_user_exception(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 270, in error_router\r\n\r\nreturn original_handler(e)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1381, in handle_user_exception\r\n\r\nreraise(exc_type, exc_value, tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/_compat.py\", line 32, in reraise\r\n\r\nraise value.with_traceback(tb)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1475, in full_dispatch_request\r\n\r\nrv = self.dispatch_request()\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/app.py\", line 1461, in dispatch_request\r\n\r\nreturn self.view_functions[rule.endpoint](**req.view_args)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 471, in wrapper\r\n\r\nresp = resource(*args, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask/views.py\", line 84, in view\r\n\r\nreturn self.dispatch_request(*args, **kwargs)\r\nFile \"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/flask_restful/__init__.py\", line 581, in dispatch_request\r\n\r\nresp = meth(*args, **kwargs)\r\nFile \"/Users/rainc/SoMa2/CloudMind/cloudmind/restful/v1/node.py\", line 139, in post\r\n\r\nusers = args['assigned_users']\r\nKeyError: 'assigned_users'\r\nThis is the Copy/Paste friendly version of the traceback. You can also paste this traceback into a gist:  create paste\r\n"}}