{"action":"created","issue":{"url":"https://api.github.com/repos/nprapps/books15/issues/99","repository_url":"https://api.github.com/repos/nprapps/books15","labels_url":"https://api.github.com/repos/nprapps/books15/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/nprapps/books15/issues/99/comments","events_url":"https://api.github.com/repos/nprapps/books15/issues/99/events","html_url":"https://github.com/nprapps/books15/issues/99","id":140531278,"number":99,"title":"error on the fab update step","user":{"login":"mroswell","id":192568,"avatar_url":"https://avatars.githubusercontent.com/u/192568?v=3","gravatar_id":"","url":"https://api.github.com/users/mroswell","html_url":"https://github.com/mroswell","followers_url":"https://api.github.com/users/mroswell/followers","following_url":"https://api.github.com/users/mroswell/following{/other_user}","gists_url":"https://api.github.com/users/mroswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mroswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mroswell/subscriptions","organizations_url":"https://api.github.com/users/mroswell/orgs","repos_url":"https://api.github.com/users/mroswell/repos","events_url":"https://api.github.com/users/mroswell/events{/privacy}","received_events_url":"https://api.github.com/users/mroswell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-03-13T21:26:38Z","updated_at":"2016-03-19T23:39:06Z","closed_at":null,"body":"My guess-- and I'm not sure yet--is that I need to  create the spreadsheet described in 'COPY editing' section, before the 'fab update' step will work.\r\n\r\nWill let you know if that is the case.\r\n\r\nError at console:\r\n```\r\n(books15)marjorieroswell (master) books15 $ fab update\r\nTraceback (most recent call last):\r\n  File \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/fabric/main.py\", line 717, in main\r\n    *args, **kwargs\r\n  File \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/fabric/tasks.py\", line 332, in execute\r\n    results['<local-only>'] = task.run(*args, **new_kwargs)\r\n  File \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/fabric/tasks.py\", line 112, in run\r\n    return self.wrapped(*args, **kwargs)\r\n  File \"/Users/marjorieroswell/WebstormProjects/books15/fabfile/__init__.py\", line 135, in update\r\n    text.update()\r\n  File \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/fabric/tasks.py\", line 109, in __call__\r\n    return self.run(*args, **kwargs)\r\n  File \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/fabric/tasks.py\", line 112, in run\r\n    return self.wrapped(*args, **kwargs)\r\n  File \"/Users/marjorieroswell/WebstormProjects/books15/fabfile/text.py\", line 29, in update\r\n    get_document(app_config.COPY_GOOGLE_DOC_KEY, app_config.COPY_PATH)\r\n  File \"/Users/marjorieroswell/WebstormProjects/books15/oauth.py\", line 114, in get_document\r\n    raise KeyError(\"Error! Google returned a %s error\" % response.status)\r\nKeyError: 'Error! Google returned a 403 error'\r\n```\r\n\r\nError at localhost:\r\n```\r\nIOError\r\nIOError: [Errno 2] No such file or directory: 'www/static-data/books.json'\r\n\r\nTraceback (most recent call last)\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1701, in __call__\r\nreturn self.wsgi_app(environ, start_response)\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1689, in wsgi_app\r\nresponse = self.make_response(self.handle_exception(e))\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1687, in wsgi_app\r\nresponse = self.full_dispatch_request()\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1360, in full_dispatch_request\r\nrv = self.handle_user_exception(e)\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1358, in full_dispatch_request\r\nrv = self.dispatch_request()\r\nFile \"/Users/marjorieroswell/.virtualenvs/books15/lib/python2.7/site-packages/flask/app.py\", line 1344, in dispatch_request\r\nreturn self.view_functions[rule.endpoint](**req.view_args)\r\nFile \"/Users/marjorieroswell/WebstormProjects/books15/oauth.py\", line 71, in decorated_function\r\nreturn f(*args, **kwargs)\r\nFile \"/Users/marjorieroswell/WebstormProjects/books15/app.py\", line 41, in index\r\nwith open('www/static-data/books.json', 'rb') as readfile:\r\nIOError: [Errno 2] No such file or directory: 'www/static-data/books.json'\r\nThe debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.\r\nTo switch between the interactive traceback and the plaintext one, you can click on the \"Traceback\" headline. From the text traceback you can also create a paste of it.\r\n\r\nBrought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.\r\n```"},"comment":{"url":"https://api.github.com/repos/nprapps/books15/issues/comments/198808180","html_url":"https://github.com/nprapps/books15/issues/99#issuecomment-198808180","issue_url":"https://api.github.com/repos/nprapps/books15/issues/99","id":198808180,"user":{"login":"mroswell","id":192568,"avatar_url":"https://avatars.githubusercontent.com/u/192568?v=3","gravatar_id":"","url":"https://api.github.com/users/mroswell","html_url":"https://github.com/mroswell","followers_url":"https://api.github.com/users/mroswell/followers","following_url":"https://api.github.com/users/mroswell/following{/other_user}","gists_url":"https://api.github.com/users/mroswell/gists{/gist_id}","starred_url":"https://api.github.com/users/mroswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mroswell/subscriptions","organizations_url":"https://api.github.com/users/mroswell/orgs","repos_url":"https://api.github.com/users/mroswell/repos","events_url":"https://api.github.com/users/mroswell/events{/privacy}","received_events_url":"https://api.github.com/users/mroswell/received_events","type":"User","site_admin":false},"created_at":"2016-03-19T23:39:06Z","updated_at":"2016-03-19T23:39:06Z","body":"It took a bit for me to notice that a second spreadsheet is needed, with a header row for these keys:\r\n\r\n- title\r\n- genre\r\n- author\r\n- isbn\r\n- book_seamus_id\r\n- hide_ibooks\r\n- text\r\n- reviewer\r\n- slug\r\n- tags\r\n- reviewer ID\r\n- reviewer link\r\n- html text\r\n- oclc"}}