{"action":"created","comment":{"url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/comments/45843848","id":45843848,"diff_hunk":"@@ -49,12 +49,39 @@ if opts.action =='resetlocks':\n     print(\"has set user admin with passwd admin, please change using command 'jsuser' if required.\")\n \n #################HEALTHCHECK\n+def printPretty(nodes):\n+    import prettytable\n+    import time\n+    for node in nodes.keys():\n+        print 'Node ID:', node\n+        print '=' * 10\n+        n = nodes.get(node)\n+        for detail in n.keys():\n+            print detail\n+            print '=' * len(detail)\n+            table = prettytable.PrettyTable(('Message','State'))\n+            table.align['Message'] = \"l\"\n+            key = n.get(detail)\n+            for i in key:\n+                if detail == 'Workers':\n+                    a=i.get('message').split('{{ts:')\n+                    st=a[1]\n+                    ts=time.ctime(float(st.split('}}')[0]))\n+                    table.add_row((''.join([a[0], ts]), i.get('state')))\n+                else:\n+                    table.add_row((i.get('message'), i.get('state')))","path":"shellcmds/jsgrid","position":24,"original_position":24,"commit_id":"7fe324a7bc1ad0b99ed43eb9d38a02676d532840","original_commit_id":"7fe324a7bc1ad0b99ed43eb9d38a02676d532840","user":{"login":"grimpy","id":143869,"avatar_url":"https://avatars.githubusercontent.com/u/143869?v=3","gravatar_id":"","url":"https://api.github.com/users/grimpy","html_url":"https://github.com/grimpy","followers_url":"https://api.github.com/users/grimpy/followers","following_url":"https://api.github.com/users/grimpy/following{/other_user}","gists_url":"https://api.github.com/users/grimpy/gists{/gist_id}","starred_url":"https://api.github.com/users/grimpy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grimpy/subscriptions","organizations_url":"https://api.github.com/users/grimpy/orgs","repos_url":"https://api.github.com/users/grimpy/repos","events_url":"https://api.github.com/users/grimpy/events{/privacy}","received_events_url":"https://api.github.com/users/grimpy/received_events","type":"User","site_admin":false},"body":"replace this block with\r\n```import re\r\ndef parsets(match):\r\n     return time.ctime(float(token.group(0)))\r\n\r\ni['message'] = re.sub(\"{{ts:(\\d+)}}\", convert, i.get('message'))\r\n````","created_at":"2015-11-25T09:18:47Z","updated_at":"2015-11-25T09:18:47Z","html_url":"https://github.com/Jumpscale/jumpscale_core7/pull/146#discussion_r45843848","pull_request_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146","_links":{"self":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/comments/45843848"},"html":{"href":"https://github.com/Jumpscale/jumpscale_core7/pull/146#discussion_r45843848"},"pull_request":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146"}}},"pull_request":{"url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146","id":51762956,"html_url":"https://github.com/Jumpscale/jumpscale_core7/pull/146","diff_url":"https://github.com/Jumpscale/jumpscale_core7/pull/146.diff","patch_url":"https://github.com/Jumpscale/jumpscale_core7/pull/146.patch","issue_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/146","number":146,"state":"open","locked":false,"title":"Fixed jsgrid healthchecker and presented the output in a pretty table","user":{"login":"john-kheir","id":15011431,"avatar_url":"https://avatars.githubusercontent.com/u/15011431?v=3","gravatar_id":"","url":"https://api.github.com/users/john-kheir","html_url":"https://github.com/john-kheir","followers_url":"https://api.github.com/users/john-kheir/followers","following_url":"https://api.github.com/users/john-kheir/following{/other_user}","gists_url":"https://api.github.com/users/john-kheir/gists{/gist_id}","starred_url":"https://api.github.com/users/john-kheir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/john-kheir/subscriptions","organizations_url":"https://api.github.com/users/john-kheir/orgs","repos_url":"https://api.github.com/users/john-kheir/repos","events_url":"https://api.github.com/users/john-kheir/events{/privacy}","received_events_url":"https://api.github.com/users/john-kheir/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-11-25T08:07:09Z","updated_at":"2015-11-25T09:18:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d1a8661abf9ebefcf7abd95495127ae5a8a2684a","assignee":{"login":"grimpy","id":143869,"avatar_url":"https://avatars.githubusercontent.com/u/143869?v=3","gravatar_id":"","url":"https://api.github.com/users/grimpy","html_url":"https://github.com/grimpy","followers_url":"https://api.github.com/users/grimpy/followers","following_url":"https://api.github.com/users/grimpy/following{/other_user}","gists_url":"https://api.github.com/users/grimpy/gists{/gist_id}","starred_url":"https://api.github.com/users/grimpy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grimpy/subscriptions","organizations_url":"https://api.github.com/users/grimpy/orgs","repos_url":"https://api.github.com/users/grimpy/repos","events_url":"https://api.github.com/users/grimpy/events{/privacy}","received_events_url":"https://api.github.com/users/grimpy/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146/commits","review_comments_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146/comments","review_comment_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/146/comments","statuses_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/statuses/7fe324a7bc1ad0b99ed43eb9d38a02676d532840","head":{"label":"Jumpscale:task_dev-669","ref":"task_dev-669","sha":"7fe324a7bc1ad0b99ed43eb9d38a02676d532840","user":{"login":"Jumpscale","id":8423908,"avatar_url":"https://avatars.githubusercontent.com/u/8423908?v=3","gravatar_id":"","url":"https://api.github.com/users/Jumpscale","html_url":"https://github.com/Jumpscale","followers_url":"https://api.github.com/users/Jumpscale/followers","following_url":"https://api.github.com/users/Jumpscale/following{/other_user}","gists_url":"https://api.github.com/users/Jumpscale/gists{/gist_id}","starred_url":"https://api.github.com/users/Jumpscale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jumpscale/subscriptions","organizations_url":"https://api.github.com/users/Jumpscale/orgs","repos_url":"https://api.github.com/users/Jumpscale/repos","events_url":"https://api.github.com/users/Jumpscale/events{/privacy}","received_events_url":"https://api.github.com/users/Jumpscale/received_events","type":"Organization","site_admin":false},"repo":{"id":26467698,"name":"jumpscale_core7","full_name":"Jumpscale/jumpscale_core7","owner":{"login":"Jumpscale","id":8423908,"avatar_url":"https://avatars.githubusercontent.com/u/8423908?v=3","gravatar_id":"","url":"https://api.github.com/users/Jumpscale","html_url":"https://github.com/Jumpscale","followers_url":"https://api.github.com/users/Jumpscale/followers","following_url":"https://api.github.com/users/Jumpscale/following{/other_user}","gists_url":"https://api.github.com/users/Jumpscale/gists{/gist_id}","starred_url":"https://api.github.com/users/Jumpscale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jumpscale/subscriptions","organizations_url":"https://api.github.com/users/Jumpscale/orgs","repos_url":"https://api.github.com/users/Jumpscale/repos","events_url":"https://api.github.com/users/Jumpscale/events{/privacy}","received_events_url":"https://api.github.com/users/Jumpscale/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Jumpscale/jumpscale_core7","description":"new version of jumpscale","fork":false,"url":"https://api.github.com/repos/Jumpscale/jumpscale_core7","forks_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/forks","keys_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/teams","hooks_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/hooks","issue_events_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/events{/number}","events_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/events","assignees_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/assignees{/user}","branches_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/branches{/branch}","tags_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/tags","blobs_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/refs{/sha}","trees_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/statuses/{sha}","languages_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/languages","stargazers_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/stargazers","contributors_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/contributors","subscribers_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/subscribers","subscription_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/subscription","commits_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/commits{/sha}","git_commits_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/commits{/sha}","comments_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/comments{/number}","issue_comment_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/comments{/number}","contents_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/contents/{+path}","compare_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/merges","archive_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/downloads","issues_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues{/number}","pulls_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls{/number}","milestones_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/milestones{/number}","notifications_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/labels{/name}","releases_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/releases{/id}","created_at":"2014-11-11T03:27:11Z","updated_at":"2015-11-09T09:59:56Z","pushed_at":"2015-11-25T08:52:20Z","git_url":"git://github.com/Jumpscale/jumpscale_core7.git","ssh_url":"git@github.com:Jumpscale/jumpscale_core7.git","clone_url":"https://github.com/Jumpscale/jumpscale_core7.git","svn_url":"https://github.com/Jumpscale/jumpscale_core7","homepage":null,"size":5058,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":20,"forks":3,"open_issues":20,"watchers":4,"default_branch":"master"}},"base":{"label":"Jumpscale:master","ref":"master","sha":"7e1905174d3f41c2c0edf894a1d48fd75fa8e3cc","user":{"login":"Jumpscale","id":8423908,"avatar_url":"https://avatars.githubusercontent.com/u/8423908?v=3","gravatar_id":"","url":"https://api.github.com/users/Jumpscale","html_url":"https://github.com/Jumpscale","followers_url":"https://api.github.com/users/Jumpscale/followers","following_url":"https://api.github.com/users/Jumpscale/following{/other_user}","gists_url":"https://api.github.com/users/Jumpscale/gists{/gist_id}","starred_url":"https://api.github.com/users/Jumpscale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jumpscale/subscriptions","organizations_url":"https://api.github.com/users/Jumpscale/orgs","repos_url":"https://api.github.com/users/Jumpscale/repos","events_url":"https://api.github.com/users/Jumpscale/events{/privacy}","received_events_url":"https://api.github.com/users/Jumpscale/received_events","type":"Organization","site_admin":false},"repo":{"id":26467698,"name":"jumpscale_core7","full_name":"Jumpscale/jumpscale_core7","owner":{"login":"Jumpscale","id":8423908,"avatar_url":"https://avatars.githubusercontent.com/u/8423908?v=3","gravatar_id":"","url":"https://api.github.com/users/Jumpscale","html_url":"https://github.com/Jumpscale","followers_url":"https://api.github.com/users/Jumpscale/followers","following_url":"https://api.github.com/users/Jumpscale/following{/other_user}","gists_url":"https://api.github.com/users/Jumpscale/gists{/gist_id}","starred_url":"https://api.github.com/users/Jumpscale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jumpscale/subscriptions","organizations_url":"https://api.github.com/users/Jumpscale/orgs","repos_url":"https://api.github.com/users/Jumpscale/repos","events_url":"https://api.github.com/users/Jumpscale/events{/privacy}","received_events_url":"https://api.github.com/users/Jumpscale/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Jumpscale/jumpscale_core7","description":"new version of jumpscale","fork":false,"url":"https://api.github.com/repos/Jumpscale/jumpscale_core7","forks_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/forks","keys_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/teams","hooks_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/hooks","issue_events_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/events{/number}","events_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/events","assignees_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/assignees{/user}","branches_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/branches{/branch}","tags_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/tags","blobs_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/refs{/sha}","trees_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/statuses/{sha}","languages_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/languages","stargazers_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/stargazers","contributors_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/contributors","subscribers_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/subscribers","subscription_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/subscription","commits_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/commits{/sha}","git_commits_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/git/commits{/sha}","comments_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/comments{/number}","issue_comment_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/comments{/number}","contents_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/contents/{+path}","compare_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/merges","archive_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/downloads","issues_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues{/number}","pulls_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls{/number}","milestones_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/milestones{/number}","notifications_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/labels{/name}","releases_url":"https://api.github.com/repos/Jumpscale/jumpscale_core7/releases{/id}","created_at":"2014-11-11T03:27:11Z","updated_at":"2015-11-09T09:59:56Z","pushed_at":"2015-11-25T08:52:20Z","git_url":"git://github.com/Jumpscale/jumpscale_core7.git","ssh_url":"git@github.com:Jumpscale/jumpscale_core7.git","clone_url":"https://github.com/Jumpscale/jumpscale_core7.git","svn_url":"https://github.com/Jumpscale/jumpscale_core7","homepage":null,"size":5058,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":20,"forks":3,"open_issues":20,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146"},"html":{"href":"https://github.com/Jumpscale/jumpscale_core7/pull/146"},"issue":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/146"},"comments":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/issues/146/comments"},"review_comments":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146/comments"},"review_comment":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/pulls/146/commits"},"statuses":{"href":"https://api.github.com/repos/Jumpscale/jumpscale_core7/statuses/7fe324a7bc1ad0b99ed43eb9d38a02676d532840"}}}}