{"action":"created","comment":{"url":"https://api.github.com/repos/counsyl/stor/pulls/comments/229842607","pull_request_review_id":170440528,"id":229842607,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyOTg0MjYwNw==","diff_hunk":"@@ -450,6 +452,22 @@ def close(self):\n                 self.flush()\n             self._buffer.close()\n         self.closed = True\n+        # we want to wait_on_close on DXPath only if no error was thrown while writing the file\n+        if not any(sys.exc_info()):  # pragma: no cover\n+            self.dx_close_helper()\n+\n+    def dx_close_helper(self):\n+        if isinstance(self._path, stor.dx.DXPath):\n+            wait_on_close = stor.settings.get()['dx']['wait_on_close']","path":"stor/obs.py","position":26,"original_position":26,"commit_id":"6911200bdd553e0c10e32c1b333d35248172e879","original_commit_id":"6911200bdd553e0c10e32c1b333d35248172e879","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            wait_on_close = wait_on_close if wait_on_close is not None else stor.settings.get()['dx']['wait_on_close']\r\n```","created_at":"2018-10-31T19:48:03Z","updated_at":"2018-10-31T19:51:42Z","html_url":"https://github.com/counsyl/stor/pull/89#discussion_r229842607","pull_request_url":"https://api.github.com/repos/counsyl/stor/pulls/89","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/counsyl/stor/pulls/comments/229842607"},"html":{"href":"https://github.com/counsyl/stor/pull/89#discussion_r229842607"},"pull_request":{"href":"https://api.github.com/repos/counsyl/stor/pulls/89"}}},"pull_request":{"url":"https://api.github.com/repos/counsyl/stor/pulls/89","id":227417043,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI3NDE3MDQz","html_url":"https://github.com/counsyl/stor/pull/89","diff_url":"https://github.com/counsyl/stor/pull/89.diff","patch_url":"https://github.com/counsyl/stor/pull/89.patch","issue_url":"https://api.github.com/repos/counsyl/stor/issues/89","number":89,"state":"open","locked":false,"title":"Implementing wait_on_close upon open dx paths","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":"wait_on_close is called from OBSFile after open(DXPath) is closed. This is because DX takes time to close the file and get it ready for download/read etc.\r\n\r\nwait_on_close is added as a configurable parameter in stor settings.","created_at":"2018-10-31T19:38:22Z","updated_at":"2018-10-31T19:51:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f91b3317939242605b7179bab7ed2c0f8b6b7f0c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/counsyl/stor/pulls/89/commits","review_comments_url":"https://api.github.com/repos/counsyl/stor/pulls/89/comments","review_comment_url":"https://api.github.com/repos/counsyl/stor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/counsyl/stor/issues/89/comments","statuses_url":"https://api.github.com/repos/counsyl/stor/statuses/6911200bdd553e0c10e32c1b333d35248172e879","head":{"label":"anujkumar93:stor-dx--open_wait_on_close","ref":"stor-dx--open_wait_on_close","sha":"6911200bdd553e0c10e32c1b333d35248172e879","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-31T19:51:24Z","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":5637,"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":3,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":3,"watchers":0,"default_branch":"master"}},"base":{"label":"counsyl:dnanexus","ref":"dnanexus","sha":"b83658e14021b3789bcdca1c6760d8a70cc10b85","user":{"login":"counsyl","id":538578,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzODU3OA==","avatar_url":"https://avatars1.githubusercontent.com/u/538578?v=4","gravatar_id":"","url":"https://api.github.com/users/counsyl","html_url":"https://github.com/counsyl","followers_url":"https://api.github.com/users/counsyl/followers","following_url":"https://api.github.com/users/counsyl/following{/other_user}","gists_url":"https://api.github.com/users/counsyl/gists{/gist_id}","starred_url":"https://api.github.com/users/counsyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/counsyl/subscriptions","organizations_url":"https://api.github.com/users/counsyl/orgs","repos_url":"https://api.github.com/users/counsyl/repos","events_url":"https://api.github.com/users/counsyl/events{/privacy}","received_events_url":"https://api.github.com/users/counsyl/received_events","type":"Organization","site_admin":false},"repo":{"id":66032599,"node_id":"MDEwOlJlcG9zaXRvcnk2NjAzMjU5OQ==","name":"stor","full_name":"counsyl/stor","private":false,"owner":{"login":"counsyl","id":538578,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzODU3OA==","avatar_url":"https://avatars1.githubusercontent.com/u/538578?v=4","gravatar_id":"","url":"https://api.github.com/users/counsyl","html_url":"https://github.com/counsyl","followers_url":"https://api.github.com/users/counsyl/followers","following_url":"https://api.github.com/users/counsyl/following{/other_user}","gists_url":"https://api.github.com/users/counsyl/gists{/gist_id}","starred_url":"https://api.github.com/users/counsyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/counsyl/subscriptions","organizations_url":"https://api.github.com/users/counsyl/orgs","repos_url":"https://api.github.com/users/counsyl/repos","events_url":"https://api.github.com/users/counsyl/events{/privacy}","received_events_url":"https://api.github.com/users/counsyl/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/counsyl/stor","description":"A cross-compatible CLI and Python API for accessing block and object storage","fork":false,"url":"https://api.github.com/repos/counsyl/stor","forks_url":"https://api.github.com/repos/counsyl/stor/forks","keys_url":"https://api.github.com/repos/counsyl/stor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/counsyl/stor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/counsyl/stor/teams","hooks_url":"https://api.github.com/repos/counsyl/stor/hooks","issue_events_url":"https://api.github.com/repos/counsyl/stor/issues/events{/number}","events_url":"https://api.github.com/repos/counsyl/stor/events","assignees_url":"https://api.github.com/repos/counsyl/stor/assignees{/user}","branches_url":"https://api.github.com/repos/counsyl/stor/branches{/branch}","tags_url":"https://api.github.com/repos/counsyl/stor/tags","blobs_url":"https://api.github.com/repos/counsyl/stor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/counsyl/stor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/counsyl/stor/git/refs{/sha}","trees_url":"https://api.github.com/repos/counsyl/stor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/counsyl/stor/statuses/{sha}","languages_url":"https://api.github.com/repos/counsyl/stor/languages","stargazers_url":"https://api.github.com/repos/counsyl/stor/stargazers","contributors_url":"https://api.github.com/repos/counsyl/stor/contributors","subscribers_url":"https://api.github.com/repos/counsyl/stor/subscribers","subscription_url":"https://api.github.com/repos/counsyl/stor/subscription","commits_url":"https://api.github.com/repos/counsyl/stor/commits{/sha}","git_commits_url":"https://api.github.com/repos/counsyl/stor/git/commits{/sha}","comments_url":"https://api.github.com/repos/counsyl/stor/comments{/number}","issue_comment_url":"https://api.github.com/repos/counsyl/stor/issues/comments{/number}","contents_url":"https://api.github.com/repos/counsyl/stor/contents/{+path}","compare_url":"https://api.github.com/repos/counsyl/stor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/counsyl/stor/merges","archive_url":"https://api.github.com/repos/counsyl/stor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/counsyl/stor/downloads","issues_url":"https://api.github.com/repos/counsyl/stor/issues{/number}","pulls_url":"https://api.github.com/repos/counsyl/stor/pulls{/number}","milestones_url":"https://api.github.com/repos/counsyl/stor/milestones{/number}","notifications_url":"https://api.github.com/repos/counsyl/stor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/counsyl/stor/labels{/name}","releases_url":"https://api.github.com/repos/counsyl/stor/releases{/id}","deployments_url":"https://api.github.com/repos/counsyl/stor/deployments","created_at":"2016-08-18T21:43:26Z","updated_at":"2018-10-03T17:59:13Z","pushed_at":"2018-10-31T19:51:26Z","git_url":"git://github.com/counsyl/stor.git","ssh_url":"git@github.com:counsyl/stor.git","clone_url":"https://github.com/counsyl/stor.git","svn_url":"https://github.com/counsyl/stor","homepage":"https://counsyl.github.io/stor/","size":5443,"stargazers_count":23,"watchers_count":23,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":8,"mirror_url":null,"archived":false,"open_issues_count":28,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":8,"open_issues":28,"watchers":23,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/counsyl/stor/pulls/89"},"html":{"href":"https://github.com/counsyl/stor/pull/89"},"issue":{"href":"https://api.github.com/repos/counsyl/stor/issues/89"},"comments":{"href":"https://api.github.com/repos/counsyl/stor/issues/89/comments"},"review_comments":{"href":"https://api.github.com/repos/counsyl/stor/pulls/89/comments"},"review_comment":{"href":"https://api.github.com/repos/counsyl/stor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/counsyl/stor/pulls/89/commits"},"statuses":{"href":"https://api.github.com/repos/counsyl/stor/statuses/6911200bdd553e0c10e32c1b333d35248172e879"}},"author_association":"NONE"}}
{"actor":{"display_login":"jtratner"}}