{"action":"created","issue":{"url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/190","labels_url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/190/labels{/name}","comments_url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/190/comments","events_url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/190/events","html_url":"https://github.com/django-cumulus/django-cumulus/pull/190","id":58625846,"number":190,"title":"Add caching to authentication and clean up the file.","user":{"login":"rizumu","id":27119,"avatar_url":"https://avatars.githubusercontent.com/u/27119?v=3","gravatar_id":"","url":"https://api.github.com/users/rizumu","html_url":"https://github.com/rizumu","followers_url":"https://api.github.com/users/rizumu/followers","following_url":"https://api.github.com/users/rizumu/following{/other_user}","gists_url":"https://api.github.com/users/rizumu/gists{/gist_id}","starred_url":"https://api.github.com/users/rizumu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rizumu/subscriptions","organizations_url":"https://api.github.com/users/rizumu/orgs","repos_url":"https://api.github.com/users/rizumu/repos","events_url":"https://api.github.com/users/rizumu/events{/privacy}","received_events_url":"https://api.github.com/users/rizumu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"ferrix","id":34988,"avatar_url":"https://avatars.githubusercontent.com/u/34988?v=3","gravatar_id":"","url":"https://api.github.com/users/ferrix","html_url":"https://github.com/ferrix","followers_url":"https://api.github.com/users/ferrix/followers","following_url":"https://api.github.com/users/ferrix/following{/other_user}","gists_url":"https://api.github.com/users/ferrix/gists{/gist_id}","starred_url":"https://api.github.com/users/ferrix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ferrix/subscriptions","organizations_url":"https://api.github.com/users/ferrix/orgs","repos_url":"https://api.github.com/users/ferrix/repos","events_url":"https://api.github.com/users/ferrix/events{/privacy}","received_events_url":"https://api.github.com/users/ferrix/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-02-23T18:18:26Z","updated_at":"2015-02-23T18:31:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/django-cumulus/django-cumulus/pulls/190","html_url":"https://github.com/django-cumulus/django-cumulus/pull/190","diff_url":"https://github.com/django-cumulus/django-cumulus/pull/190.diff","patch_url":"https://github.com/django-cumulus/django-cumulus/pull/190.patch"},"body":"Simplify our authentication by caching properties that ping the api. \r\n\r\nReferences #161"},"comment":{"url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/comments/75601828","html_url":"https://github.com/django-cumulus/django-cumulus/pull/190#issuecomment-75601828","issue_url":"https://api.github.com/repos/django-cumulus/django-cumulus/issues/190","id":75601828,"user":{"login":"rizumu","id":27119,"avatar_url":"https://avatars.githubusercontent.com/u/27119?v=3","gravatar_id":"","url":"https://api.github.com/users/rizumu","html_url":"https://github.com/rizumu","followers_url":"https://api.github.com/users/rizumu/followers","following_url":"https://api.github.com/users/rizumu/following{/other_user}","gists_url":"https://api.github.com/users/rizumu/gists{/gist_id}","starred_url":"https://api.github.com/users/rizumu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rizumu/subscriptions","organizations_url":"https://api.github.com/users/rizumu/orgs","repos_url":"https://api.github.com/users/rizumu/repos","events_url":"https://api.github.com/users/rizumu/events{/privacy}","received_events_url":"https://api.github.com/users/rizumu/received_events","type":"User","site_admin":false},"created_at":"2015-02-23T18:31:01Z","updated_at":"2015-02-23T18:31:01Z","body":"@ferrix this PR needs a deeper review. If you notice my second commit to this PR we still have `_get_object` in authentication.py and that is an odd place for it.\r\n\r\nI'm leaving it here for now, but my next goal is to either put it on our storage class or remove it entirely. It is the source of excessive api calls, and I need to figure out a better way to do this. \r\n\r\nAnother point of review in this pull request is `ThreadSafeSwiftclientStorage`. I think using our `cached_property` decorator in the `Auth` class should negate the need for a separate thread safe class. I could be wrong, but I'm not using nor have ever used the ThreadSafe class. The PR that added thread safety doesn't go into detail about what real problem it is actually solving, so I don't know how to test it https://github.com/django-cumulus/django-cumulus/pull/24\r\n\r\nFinally, after you merge the other branch `rename-file-storage` first, I'll get the merge conflicts resolved here."}}