{"action":"created","comment":{"url":"https://api.github.com/repos/anujkumar93/stor/pulls/comments/228616660","pull_request_review_id":168931045,"id":228616660,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODYxNjY2MA==","diff_hunk":"@@ -385,129 +1067,161 @@ def exists(self):\n             # first see if there is a specific corresponding object\n             self.stat()\n             return True\n-        except (NotFoundError, ValueError):\n+        except (stor_exceptions.NotFoundError, ValueError):\n             pass\n-        # otherwise we could be a directory, so try to grab first\n-        # file/subfolder\n-        if self._is_folder():\n-            try:\n-                self.list(limit=1)\n-                return True\n-            except NotFoundError:\n-                return False\n-        return False\n+        # otherwise we could be a directory, so try to listdir folder\n+        # note list doesn't error on non-existent folder and cannot be used here\n+        try:\n+            self.listdir()\n+            return True\n+        except stor_exceptions.NotFoundError:\n+            return False\n \n+    def getsize(self):\n+        if not self.resource:\n+            return self.stat()['dataUsage']*1e9\n+        else:\n+            return self.stat()['size']\n+\n+    @_propagate_dx_exceptions()\n     def stat(self):\n-        if not self.__stat:\n+        \"\"\"Performs a stat on the path.\n \n-            if self.canonical_resource:\n-                self.__stat = dxpy.DXFile(dxid=self.canonical_resource,\n-                                          project=self.canonical_project).describe()\n-            else:\n-                self.__stat = dxpy.DXProject(dxid=self.canonical_project).describe()\n-        return self.__stat\n+        Raises:\n+            DuplicateError: If project or resource is not unique\n+            NotFoundError: When the project or resource cannot be found\n+            ValueError: If path is folder path\n+        \"\"\"\n+        if not self.resource:\n+            return dxpy.DXProject(dxid=self.canonical_project).describe()\n+        return dxpy.DXFile(dxid=self.canonical_resource,\n+                           project=self.canonical_project).describe()\n \n \n class DXVirtualPath(DXPath):\n-    \"\"\"Class Handler for DXPath of form 'dx://project-{ID}:/a/b/c' or 'dx://a/b/c'\"\"\"\n+    \"\"\"Class Handler for DXPath of form 'dx://project-{dxID}:/a/b/c' or 'dx://a:/b/c'\"\"\"\n \n     @property\n     def virtual_project(self):\n+        \"\"\"Returns the virtual name of the project associated with the DXVirtualPath\"\"\"\n         if utils.is_valid_dxid(self.project, 'project'):\n-            return dxpy.DXProject(dxid=self.project).name\n+            with _propagate_dx_exceptions():\n+                return dxpy.DXProject(dxid=self.project).name\n         return self.project\n \n     @property\n     def virtual_resource(self):\n+        \"\"\"Returns the human readable path of the resource associated with the DXVirtualPath\"\"\"\n         return self.resource\n \n     @property\n     def virtual_path(self):\n+        \"\"\"Returns the DXVirtualPath instance\"\"\"\n         return self\n \n     @cached_property\n     def canonical_project(self):\n-        \"\"\"Returns the unique project that matches the name that user has view access to.\n-        If no match is found, returns None\n+        \"\"\"Returns the ID of the unique project that matches the name that user has at least\n+        view access to. If no match is found, returns None\n \n         Raises:\n-            DuplicateProjectError - if project name is not unique on DX platform\n-            NotFoundError - If project name doesn't exist on DNAnexus\n+            DuplicateProjectError: If project name is not unique on DX platform\n+            NotFoundError: If project name doesn't exist on DNAnexus\n         \"\"\"\n         if utils.is_valid_dxid(self.project, 'project'):\n             return self.project\n-        else:\n+\n+        with _propagate_dx_exceptions():\n             try:\n                 proj_dict = dxpy.find_one_project(\n                     name=self.project, level='VIEW', zero_ok=True, more_ok=False)\n-                if proj_dict is None:\n-                    raise ProjectNotFoundError('No projects were found with given name ({})'\n-                                               .format(self.project))\n-                return proj_dict['id']\n-            except DXError as e:\n+            except DXSearchError as e:\n                 raise DuplicateProjectError('Duplicate projects were found with given name ({})'\n                                             .format(self.project), e)\n \n+        if proj_dict is None:\n+            raise ProjectNotFoundError('No projects were found with given name ({})'\n+                                       .format(self.project))\n+\n+        return proj_dict['id']\n+\n     @cached_property\n     def canonical_resource(self):\n         \"\"\"Returns the dx file-ID of the uniquely matched filename\n \n         Raises:\n             DuplicateError: if filename is not unique\n             NotFoundError: if resource is not found on DX platform\n+            ValueError: if path is folder path","path":"stor/dx.py","position":1216,"original_position":1216,"commit_id":"5503f0929576f10f66cca0315d7a79f3b83fd925","original_commit_id":"5503f0929576f10f66cca0315d7a79f3b83fd925","user":{"login":"jtratner","id":1598379,"node_id":"MDQ6VXNlcjE1OTgzNzk=","avatar_url":"https://avatars1.githubusercontent.com/u/1598379?v=4","gravatar_id":"","url":"https://api.github.com/users/jtratner","html_url":"https://github.com/jtratner","followers_url":"https://api.github.com/users/jtratner/followers","following_url":"https://api.github.com/users/jtratner/following{/other_user}","gists_url":"https://api.github.com/users/jtratner/gists{/gist_id}","starred_url":"https://api.github.com/users/jtratner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtratner/subscriptions","organizations_url":"https://api.github.com/users/jtratner/orgs","repos_url":"https://api.github.com/users/jtratner/repos","events_url":"https://api.github.com/users/jtratner/events{/privacy}","received_events_url":"https://api.github.com/users/jtratner/received_events","type":"User","site_admin":false},"body":"```suggestion\r\n            ValueError: if path looks like a folder path (i.e., ends with trailing slash)\r\n```","created_at":"2018-10-26T18:02:11Z","updated_at":"2018-10-26T18:15:14Z","html_url":"https://github.com/anujkumar93/stor/pull/1#discussion_r228616660","pull_request_url":"https://api.github.com/repos/anujkumar93/stor/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/comments/228616660"},"html":{"href":"https://github.com/anujkumar93/stor/pull/1#discussion_r228616660"},"pull_request":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/anujkumar93/stor/pulls/1","id":213390627,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEzMzkwNjI3","html_url":"https://github.com/anujkumar93/stor/pull/1","diff_url":"https://github.com/anujkumar93/stor/pull/1.diff","patch_url":"https://github.com/anujkumar93/stor/pull/1.patch","issue_url":"https://api.github.com/repos/anujkumar93/stor/issues/1","number":1,"state":"open","locked":false,"title":"(WIP) Implement mutation api's","user":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"body":"# Motivation\r\nAs part of stor support for DNAnexus paths\r\n\r\n# Implementation\r\nThe following api's, including their test cases are handled in this PR for DNAnexus paths:\r\n- copy\r\n- copytree\r\n- remove\r\n- rmtree\r\n- rename\r\n- makedirs_p\r\nThe private methods constructed to support the above copy and copytree api's are the following. Although these methods are functional, they have not been explicitly tested for every edge case as they are built as private functions.\r\n- _clone\r\n- _move\r\n- _clonetree\r\n- _movetree\r\n\r\nA couple other things taken care of in this PR:\r\n\r\n- VCR cassettes are optimized by mocking out time.sleep. If reading back from cassettes, no need to wait to read.\r\n- login configuration is set up. Users only need to set their `DX_AUTH_TOKEN` to be able to interact with DX through stor. We can *possibly* set a default value for this.","created_at":"2018-09-05T18:41:59Z","updated_at":"2018-10-26T18:15:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b74b073b37f1bbc8e119baaca285f20289e0d1f9","assignee":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"assignees":[{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"pkaleta","id":51424,"node_id":"MDQ6VXNlcjUxNDI0","avatar_url":"https://avatars3.githubusercontent.com/u/51424?v=4","gravatar_id":"","url":"https://api.github.com/users/pkaleta","html_url":"https://github.com/pkaleta","followers_url":"https://api.github.com/users/pkaleta/followers","following_url":"https://api.github.com/users/pkaleta/following{/other_user}","gists_url":"https://api.github.com/users/pkaleta/gists{/gist_id}","starred_url":"https://api.github.com/users/pkaleta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkaleta/subscriptions","organizations_url":"https://api.github.com/users/pkaleta/orgs","repos_url":"https://api.github.com/users/pkaleta/repos","events_url":"https://api.github.com/users/pkaleta/events{/privacy}","received_events_url":"https://api.github.com/users/pkaleta/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/anujkumar93/stor/pulls/1/commits","review_comments_url":"https://api.github.com/repos/anujkumar93/stor/pulls/1/comments","review_comment_url":"https://api.github.com/repos/anujkumar93/stor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/anujkumar93/stor/issues/1/comments","statuses_url":"https://api.github.com/repos/anujkumar93/stor/statuses/5503f0929576f10f66cca0315d7a79f3b83fd925","head":{"label":"anujkumar93:BIOINF-982--mutation_api","ref":"BIOINF-982--mutation_api","sha":"5503f0929576f10f66cca0315d7a79f3b83fd925","user":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"repo":{"id":147556699,"node_id":"MDEwOlJlcG9zaXRvcnkxNDc1NTY2OTk=","name":"stor","full_name":"anujkumar93/stor","private":false,"owner":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"html_url":"https://github.com/anujkumar93/stor","description":"A cross-compatible CLI and Python API for accessing block and object storage","fork":true,"url":"https://api.github.com/repos/anujkumar93/stor","forks_url":"https://api.github.com/repos/anujkumar93/stor/forks","keys_url":"https://api.github.com/repos/anujkumar93/stor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anujkumar93/stor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anujkumar93/stor/teams","hooks_url":"https://api.github.com/repos/anujkumar93/stor/hooks","issue_events_url":"https://api.github.com/repos/anujkumar93/stor/issues/events{/number}","events_url":"https://api.github.com/repos/anujkumar93/stor/events","assignees_url":"https://api.github.com/repos/anujkumar93/stor/assignees{/user}","branches_url":"https://api.github.com/repos/anujkumar93/stor/branches{/branch}","tags_url":"https://api.github.com/repos/anujkumar93/stor/tags","blobs_url":"https://api.github.com/repos/anujkumar93/stor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anujkumar93/stor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anujkumar93/stor/git/refs{/sha}","trees_url":"https://api.github.com/repos/anujkumar93/stor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anujkumar93/stor/statuses/{sha}","languages_url":"https://api.github.com/repos/anujkumar93/stor/languages","stargazers_url":"https://api.github.com/repos/anujkumar93/stor/stargazers","contributors_url":"https://api.github.com/repos/anujkumar93/stor/contributors","subscribers_url":"https://api.github.com/repos/anujkumar93/stor/subscribers","subscription_url":"https://api.github.com/repos/anujkumar93/stor/subscription","commits_url":"https://api.github.com/repos/anujkumar93/stor/commits{/sha}","git_commits_url":"https://api.github.com/repos/anujkumar93/stor/git/commits{/sha}","comments_url":"https://api.github.com/repos/anujkumar93/stor/comments{/number}","issue_comment_url":"https://api.github.com/repos/anujkumar93/stor/issues/comments{/number}","contents_url":"https://api.github.com/repos/anujkumar93/stor/contents/{+path}","compare_url":"https://api.github.com/repos/anujkumar93/stor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anujkumar93/stor/merges","archive_url":"https://api.github.com/repos/anujkumar93/stor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anujkumar93/stor/downloads","issues_url":"https://api.github.com/repos/anujkumar93/stor/issues{/number}","pulls_url":"https://api.github.com/repos/anujkumar93/stor/pulls{/number}","milestones_url":"https://api.github.com/repos/anujkumar93/stor/milestones{/number}","notifications_url":"https://api.github.com/repos/anujkumar93/stor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anujkumar93/stor/labels{/name}","releases_url":"https://api.github.com/repos/anujkumar93/stor/releases{/id}","deployments_url":"https://api.github.com/repos/anujkumar93/stor/deployments","created_at":"2018-09-05T17:41:21Z","updated_at":"2018-09-05T17:41:23Z","pushed_at":"2018-10-26T00:24:37Z","git_url":"git://github.com/anujkumar93/stor.git","ssh_url":"git@github.com:anujkumar93/stor.git","clone_url":"https://github.com/anujkumar93/stor.git","svn_url":"https://github.com/anujkumar93/stor","homepage":"https://counsyl.github.io/stor/","size":5430,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"anujkumar93:BIOINF-976--DNAnexus_api","ref":"BIOINF-976--DNAnexus_api","sha":"2b3520fec6d29d98ab429c7e1bce9f605951847b","user":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"repo":{"id":147556699,"node_id":"MDEwOlJlcG9zaXRvcnkxNDc1NTY2OTk=","name":"stor","full_name":"anujkumar93/stor","private":false,"owner":{"login":"anujkumar93","id":13256471,"node_id":"MDQ6VXNlcjEzMjU2NDcx","avatar_url":"https://avatars0.githubusercontent.com/u/13256471?v=4","gravatar_id":"","url":"https://api.github.com/users/anujkumar93","html_url":"https://github.com/anujkumar93","followers_url":"https://api.github.com/users/anujkumar93/followers","following_url":"https://api.github.com/users/anujkumar93/following{/other_user}","gists_url":"https://api.github.com/users/anujkumar93/gists{/gist_id}","starred_url":"https://api.github.com/users/anujkumar93/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anujkumar93/subscriptions","organizations_url":"https://api.github.com/users/anujkumar93/orgs","repos_url":"https://api.github.com/users/anujkumar93/repos","events_url":"https://api.github.com/users/anujkumar93/events{/privacy}","received_events_url":"https://api.github.com/users/anujkumar93/received_events","type":"User","site_admin":false},"html_url":"https://github.com/anujkumar93/stor","description":"A cross-compatible CLI and Python API for accessing block and object storage","fork":true,"url":"https://api.github.com/repos/anujkumar93/stor","forks_url":"https://api.github.com/repos/anujkumar93/stor/forks","keys_url":"https://api.github.com/repos/anujkumar93/stor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anujkumar93/stor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anujkumar93/stor/teams","hooks_url":"https://api.github.com/repos/anujkumar93/stor/hooks","issue_events_url":"https://api.github.com/repos/anujkumar93/stor/issues/events{/number}","events_url":"https://api.github.com/repos/anujkumar93/stor/events","assignees_url":"https://api.github.com/repos/anujkumar93/stor/assignees{/user}","branches_url":"https://api.github.com/repos/anujkumar93/stor/branches{/branch}","tags_url":"https://api.github.com/repos/anujkumar93/stor/tags","blobs_url":"https://api.github.com/repos/anujkumar93/stor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anujkumar93/stor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anujkumar93/stor/git/refs{/sha}","trees_url":"https://api.github.com/repos/anujkumar93/stor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anujkumar93/stor/statuses/{sha}","languages_url":"https://api.github.com/repos/anujkumar93/stor/languages","stargazers_url":"https://api.github.com/repos/anujkumar93/stor/stargazers","contributors_url":"https://api.github.com/repos/anujkumar93/stor/contributors","subscribers_url":"https://api.github.com/repos/anujkumar93/stor/subscribers","subscription_url":"https://api.github.com/repos/anujkumar93/stor/subscription","commits_url":"https://api.github.com/repos/anujkumar93/stor/commits{/sha}","git_commits_url":"https://api.github.com/repos/anujkumar93/stor/git/commits{/sha}","comments_url":"https://api.github.com/repos/anujkumar93/stor/comments{/number}","issue_comment_url":"https://api.github.com/repos/anujkumar93/stor/issues/comments{/number}","contents_url":"https://api.github.com/repos/anujkumar93/stor/contents/{+path}","compare_url":"https://api.github.com/repos/anujkumar93/stor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anujkumar93/stor/merges","archive_url":"https://api.github.com/repos/anujkumar93/stor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anujkumar93/stor/downloads","issues_url":"https://api.github.com/repos/anujkumar93/stor/issues{/number}","pulls_url":"https://api.github.com/repos/anujkumar93/stor/pulls{/number}","milestones_url":"https://api.github.com/repos/anujkumar93/stor/milestones{/number}","notifications_url":"https://api.github.com/repos/anujkumar93/stor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anujkumar93/stor/labels{/name}","releases_url":"https://api.github.com/repos/anujkumar93/stor/releases{/id}","deployments_url":"https://api.github.com/repos/anujkumar93/stor/deployments","created_at":"2018-09-05T17:41:21Z","updated_at":"2018-09-05T17:41:23Z","pushed_at":"2018-10-26T00:24:37Z","git_url":"git://github.com/anujkumar93/stor.git","ssh_url":"git@github.com:anujkumar93/stor.git","clone_url":"https://github.com/anujkumar93/stor.git","svn_url":"https://github.com/anujkumar93/stor","homepage":"https://counsyl.github.io/stor/","size":5430,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/1"},"html":{"href":"https://github.com/anujkumar93/stor/pull/1"},"issue":{"href":"https://api.github.com/repos/anujkumar93/stor/issues/1"},"comments":{"href":"https://api.github.com/repos/anujkumar93/stor/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/anujkumar93/stor/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/anujkumar93/stor/statuses/5503f0929576f10f66cca0315d7a79f3b83fd925"}},"author_association":"OWNER"}}
{"actor":{"display_login":"jtratner"}}