GitHub PullRequestReviewCommentEvent at 2014-10-22 09:42:27
Repository: invenio
Actor: hachreak
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/comments/19203035","id":19203035,"diff_hunk":"@@ -159,82 +188,108 @@ def get_kb_mappings_embedded_json(kb_name=\"\", key=\"\", value=\"\", match_type=\"s\",\n         ret.append({'label': label, 'value': json.loads(value)})\n     return json.dumps(ret)\n \n+\n def kb_exists(kb_name):\n-    \"\"\"Returns True if a kb with the given name exists\n-       @param kb_name: the name of the knowledge base\n     \"\"\"\n-    return bibknowledge_dblayer.kb_exists(kb_name)\n+    Return True if a kb with the given name exists.\n+\n+    :param kb_name: the name of the knowledge base\n+    \"\"\"\n+    try:\n+        get_kb_by_name(kb_name)\n+    except NoResultFound:\n+        return False\n+    return True\n+\n \n def get_kb_name(kb_id):\n     \"\"\"\n-    Returns the name of the kb given by id\n-    @param kb_id: the id of the knowledge base\n+    Return the name of the kb given by id.\n+\n+    :param kb_id: the id of the knowledge base\n     \"\"\"\n-    return bibknowledge_dblayer.get_kb_name(kb_id)\n+    return get_kb_by_id(kb_id).name\n+\n \n def update_kb_attributes(kb_name, new_name, new_description=''):\n-    \"\"\"Update kb kb_name with a new name and (optionally) description\n+    \"\"\"\n+    Update kb kb_name with a new name and (optionally) description.\n \n-    @param kb_name: the name of the kb to update\n-    @param new_name: the new name for the kb\n-    @param new_description: the new description for the kb\n+    :param kb_name: the name of the kb to update\n+    :param new_name: the new name for the kb\n+    :param new_description: the new description for the kb\n     \"\"\"\n-    bibknowledge_dblayer.update_kb(kb_name, new_name, new_description)\n+    kb = get_kb_by_name(kb_name)\n+    kb.name = new_name\n+    kb.description = new_description\n+    try:\n+        db.session.merge(kb)\n+    except:\n+        db.session.rollback()\n+        raise\n+    finally:\n+        db.session.commit()\n+\n \n def add_kb(kb_name=\"Untitled\", kb_type=None):\n     \"\"\"\n-    Adds a new kb in database, and returns its id\n+    Add a new kb in database, return the id.\n+\n+    Add a new kb in database, and returns its id\n     The name of the kb will be 'Untitled#'\n     such that it is unique.\n \n-    @param kb_name: the name of the kb\n-    @param kb_type: the type of the kb, incl 'taxonomy' and 'dynamic'.\n+    :param kb_name: the name of the kb\n+    :param kb_type: the type of the kb, incl 'taxonomy' and 'dynamic'.\n                    None for typical (leftside-rightside).\n-    @return the id of the newly created kb\n+    :return the id of the newly created kb\n     \"\"\"\n     name = kb_name\n     i = 1\n-    while bibknowledge_dblayer.kb_exists(name):\n+    while kb_exists(name):","path":"invenio/modules/knowledge/api.py","position":325,"original_position":325,"commit_id":"2bcc9aa08a1b1f1a6efafeb534d7400251509403","original_commit_id":"2bcc9aa08a1b1f1a6efafeb534d7400251509403","user":{"login":"hachreak","id":377047,"avatar_url":"https://avatars.githubusercontent.com/u/377047?v=2","gravatar_id":"","url":"https://api.github.com/users/hachreak","html_url":"https://github.com/hachreak","followers_url":"https://api.github.com/users/hachreak/followers","following_url":"https://api.github.com/users/hachreak/following{/other_user}","gists_url":"https://api.github.com/users/hachreak/gists{/gist_id}","starred_url":"https://api.github.com/users/hachreak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hachreak/subscriptions","organizations_url":"https://api.github.com/users/hachreak/orgs","repos_url":"https://api.github.com/users/hachreak/repos","events_url":"https://api.github.com/users/hachreak/events{/privacy}","received_events_url":"https://api.github.com/users/hachreak/received_events","type":"User","site_admin":false},"body":"Done :)","created_at":"2014-10-22T09:42:27Z","updated_at":"2014-10-22T09:42:27Z","html_url":"https://github.com/inveniosoftware/invenio/pull/2443#discussion_r19203035","pull_request_url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443","_links":{"self":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/comments/19203035"},"html":{"href":"https://github.com/inveniosoftware/invenio/pull/2443#discussion_r19203035"},"pull_request":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443"}}},"pull_request":{"url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443","id":23096946,"html_url":"https://github.com/inveniosoftware/invenio/pull/2443","diff_url":"https://github.com/inveniosoftware/invenio/pull/2443.diff","patch_url":"https://github.com/inveniosoftware/invenio/pull/2443.patch","issue_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/2443","number":2443,"state":"open","locked":false,"title":"knowledge: API migration to SQLAlchemy","user":{"login":"hachreak","id":377047,"avatar_url":"https://avatars.githubusercontent.com/u/377047?v=2","gravatar_id":"","url":"https://api.github.com/users/hachreak","html_url":"https://github.com/hachreak","followers_url":"https://api.github.com/users/hachreak/followers","following_url":"https://api.github.com/users/hachreak/following{/other_user}","gists_url":"https://api.github.com/users/hachreak/gists{/gist_id}","starred_url":"https://api.github.com/users/hachreak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hachreak/subscriptions","organizations_url":"https://api.github.com/users/hachreak/orgs","repos_url":"https://api.github.com/users/hachreak/repos","events_url":"https://api.github.com/users/hachreak/events{/privacy}","received_events_url":"https://api.github.com/users/hachreak/received_events","type":"User","site_admin":false},"body":"* Replaces run_sql queries with SQLAchemy query.\r\n\r\n* Refactors module in order to move logic from api to model.\r\n\r\nSigned-off-by: Leonardo Rossi <leonardo.r@cern.ch>","created_at":"2014-10-21T16:02:02Z","updated_at":"2014-10-22T09:42:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"99ee7855358855ee8498b942203eaa8b1c5c85c4","assignee":null,"milestone":{"url":"https://api.github.com/repos/inveniosoftware/invenio/milestones/11","labels_url":"https://api.github.com/repos/inveniosoftware/invenio/milestones/11/labels","id":769792,"number":11,"title":"v2.0.x","description":null,"creator":{"login":"tiborsimko","id":517546,"avatar_url":"https://avatars.githubusercontent.com/u/517546?v=2","gravatar_id":"","url":"https://api.github.com/users/tiborsimko","html_url":"https://github.com/tiborsimko","followers_url":"https://api.github.com/users/tiborsimko/followers","following_url":"https://api.github.com/users/tiborsimko/following{/other_user}","gists_url":"https://api.github.com/users/tiborsimko/gists{/gist_id}","starred_url":"https://api.github.com/users/tiborsimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiborsimko/subscriptions","organizations_url":"https://api.github.com/users/tiborsimko/orgs","repos_url":"https://api.github.com/users/tiborsimko/repos","events_url":"https://api.github.com/users/tiborsimko/events{/privacy}","received_events_url":"https://api.github.com/users/tiborsimko/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":86,"state":"open","created_at":"2014-08-28T16:18:55Z","updated_at":"2014-10-22T07:13:00Z","due_on":null},"commits_url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443/commits","review_comments_url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443/comments","review_comment_url":"https://api.github.com/repos/inveniosoftware/invenio/pulls/comments/{number}","comments_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/2443/comments","statuses_url":"https://api.github.com/repos/inveniosoftware/invenio/statuses/2bcc9aa08a1b1f1a6efafeb534d7400251509403","head":{"label":"hachreak:runsql2sqlalchemy_knowledge","ref":"runsql2sqlalchemy_knowledge","sha":"2bcc9aa08a1b1f1a6efafeb534d7400251509403","user":{"login":"hachreak","id":377047,"avatar_url":"https://avatars.githubusercontent.com/u/377047?v=2","gravatar_id":"","url":"https://api.github.com/users/hachreak","html_url":"https://github.com/hachreak","followers_url":"https://api.github.com/users/hachreak/followers","following_url":"https://api.github.com/users/hachreak/following{/other_user}","gists_url":"https://api.github.com/users/hachreak/gists{/gist_id}","starred_url":"https://api.github.com/users/hachreak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hachreak/subscriptions","organizations_url":"https://api.github.com/users/hachreak/orgs","repos_url":"https://api.github.com/users/hachreak/repos","events_url":"https://api.github.com/users/hachreak/events{/privacy}","received_events_url":"https://api.github.com/users/hachreak/received_events","type":"User","site_admin":false},"repo":{"id":23670712,"name":"invenio","full_name":"hachreak/invenio","owner":{"login":"hachreak","id":377047,"avatar_url":"https://avatars.githubusercontent.com/u/377047?v=2","gravatar_id":"","url":"https://api.github.com/users/hachreak","html_url":"https://github.com/hachreak","followers_url":"https://api.github.com/users/hachreak/followers","following_url":"https://api.github.com/users/hachreak/following{/other_user}","gists_url":"https://api.github.com/users/hachreak/gists{/gist_id}","starred_url":"https://api.github.com/users/hachreak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hachreak/subscriptions","organizations_url":"https://api.github.com/users/hachreak/orgs","repos_url":"https://api.github.com/users/hachreak/repos","events_url":"https://api.github.com/users/hachreak/events{/privacy}","received_events_url":"https://api.github.com/users/hachreak/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hachreak/invenio","description":"Invenio digital library software","fork":true,"url":"https://api.github.com/repos/hachreak/invenio","forks_url":"https://api.github.com/repos/hachreak/invenio/forks","keys_url":"https://api.github.com/repos/hachreak/invenio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hachreak/invenio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hachreak/invenio/teams","hooks_url":"https://api.github.com/repos/hachreak/invenio/hooks","issue_events_url":"https://api.github.com/repos/hachreak/invenio/issues/events{/number}","events_url":"https://api.github.com/repos/hachreak/invenio/events","assignees_url":"https://api.github.com/repos/hachreak/invenio/assignees{/user}","branches_url":"https://api.github.com/repos/hachreak/invenio/branches{/branch}","tags_url":"https://api.github.com/repos/hachreak/invenio/tags","blobs_url":"https://api.github.com/repos/hachreak/invenio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hachreak/invenio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hachreak/invenio/git/refs{/sha}","trees_url":"https://api.github.com/repos/hachreak/invenio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hachreak/invenio/statuses/{sha}","languages_url":"https://api.github.com/repos/hachreak/invenio/languages","stargazers_url":"https://api.github.com/repos/hachreak/invenio/stargazers","contributors_url":"https://api.github.com/repos/hachreak/invenio/contributors","subscribers_url":"https://api.github.com/repos/hachreak/invenio/subscribers","subscription_url":"https://api.github.com/repos/hachreak/invenio/subscription","commits_url":"https://api.github.com/repos/hachreak/invenio/commits{/sha}","git_commits_url":"https://api.github.com/repos/hachreak/invenio/git/commits{/sha}","comments_url":"https://api.github.com/repos/hachreak/invenio/comments{/number}","issue_comment_url":"https://api.github.com/repos/hachreak/invenio/issues/comments/{number}","contents_url":"https://api.github.com/repos/hachreak/invenio/contents/{+path}","compare_url":"https://api.github.com/repos/hachreak/invenio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hachreak/invenio/merges","archive_url":"https://api.github.com/repos/hachreak/invenio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hachreak/invenio/downloads","issues_url":"https://api.github.com/repos/hachreak/invenio/issues{/number}","pulls_url":"https://api.github.com/repos/hachreak/invenio/pulls{/number}","milestones_url":"https://api.github.com/repos/hachreak/invenio/milestones{/number}","notifications_url":"https://api.github.com/repos/hachreak/invenio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hachreak/invenio/labels{/name}","releases_url":"https://api.github.com/repos/hachreak/invenio/releases{/id}","created_at":"2014-09-04T16:41:39Z","updated_at":"2014-10-15T08:56:56Z","pushed_at":"2014-10-21T16:00:13Z","git_url":"git://github.com/hachreak/invenio.git","ssh_url":"git@github.com:hachreak/invenio.git","clone_url":"https://github.com/hachreak/invenio.git","svn_url":"https://github.com/hachreak/invenio","homepage":"http://invenio-software.org/","size":71877,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"pu"}},"base":{"label":"inveniosoftware:pu","ref":"pu","sha":"a102fd14bf2236aae0b1cf114d0c2e7712bc0343","user":{"login":"inveniosoftware","id":1157480,"avatar_url":"https://avatars.githubusercontent.com/u/1157480?v=2","gravatar_id":"","url":"https://api.github.com/users/inveniosoftware","html_url":"https://github.com/inveniosoftware","followers_url":"https://api.github.com/users/inveniosoftware/followers","following_url":"https://api.github.com/users/inveniosoftware/following{/other_user}","gists_url":"https://api.github.com/users/inveniosoftware/gists{/gist_id}","starred_url":"https://api.github.com/users/inveniosoftware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inveniosoftware/subscriptions","organizations_url":"https://api.github.com/users/inveniosoftware/orgs","repos_url":"https://api.github.com/users/inveniosoftware/repos","events_url":"https://api.github.com/users/inveniosoftware/events{/privacy}","received_events_url":"https://api.github.com/users/inveniosoftware/received_events","type":"Organization","site_admin":false},"repo":{"id":2665618,"name":"invenio","full_name":"inveniosoftware/invenio","owner":{"login":"inveniosoftware","id":1157480,"avatar_url":"https://avatars.githubusercontent.com/u/1157480?v=2","gravatar_id":"","url":"https://api.github.com/users/inveniosoftware","html_url":"https://github.com/inveniosoftware","followers_url":"https://api.github.com/users/inveniosoftware/followers","following_url":"https://api.github.com/users/inveniosoftware/following{/other_user}","gists_url":"https://api.github.com/users/inveniosoftware/gists{/gist_id}","starred_url":"https://api.github.com/users/inveniosoftware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inveniosoftware/subscriptions","organizations_url":"https://api.github.com/users/inveniosoftware/orgs","repos_url":"https://api.github.com/users/inveniosoftware/repos","events_url":"https://api.github.com/users/inveniosoftware/events{/privacy}","received_events_url":"https://api.github.com/users/inveniosoftware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/inveniosoftware/invenio","description":"Invenio digital library software","fork":false,"url":"https://api.github.com/repos/inveniosoftware/invenio","forks_url":"https://api.github.com/repos/inveniosoftware/invenio/forks","keys_url":"https://api.github.com/repos/inveniosoftware/invenio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/inveniosoftware/invenio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/inveniosoftware/invenio/teams","hooks_url":"https://api.github.com/repos/inveniosoftware/invenio/hooks","issue_events_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/events{/number}","events_url":"https://api.github.com/repos/inveniosoftware/invenio/events","assignees_url":"https://api.github.com/repos/inveniosoftware/invenio/assignees{/user}","branches_url":"https://api.github.com/repos/inveniosoftware/invenio/branches{/branch}","tags_url":"https://api.github.com/repos/inveniosoftware/invenio/tags","blobs_url":"https://api.github.com/repos/inveniosoftware/invenio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/inveniosoftware/invenio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/inveniosoftware/invenio/git/refs{/sha}","trees_url":"https://api.github.com/repos/inveniosoftware/invenio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/inveniosoftware/invenio/statuses/{sha}","languages_url":"https://api.github.com/repos/inveniosoftware/invenio/languages","stargazers_url":"https://api.github.com/repos/inveniosoftware/invenio/stargazers","contributors_url":"https://api.github.com/repos/inveniosoftware/invenio/contributors","subscribers_url":"https://api.github.com/repos/inveniosoftware/invenio/subscribers","subscription_url":"https://api.github.com/repos/inveniosoftware/invenio/subscription","commits_url":"https://api.github.com/repos/inveniosoftware/invenio/commits{/sha}","git_commits_url":"https://api.github.com/repos/inveniosoftware/invenio/git/commits{/sha}","comments_url":"https://api.github.com/repos/inveniosoftware/invenio/comments{/number}","issue_comment_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/comments/{number}","contents_url":"https://api.github.com/repos/inveniosoftware/invenio/contents/{+path}","compare_url":"https://api.github.com/repos/inveniosoftware/invenio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/inveniosoftware/invenio/merges","archive_url":"https://api.github.com/repos/inveniosoftware/invenio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/inveniosoftware/invenio/downloads","issues_url":"https://api.github.com/repos/inveniosoftware/invenio/issues{/number}","pulls_url":"https://api.github.com/repos/inveniosoftware/invenio/pulls{/number}","milestones_url":"https://api.github.com/repos/inveniosoftware/invenio/milestones{/number}","notifications_url":"https://api.github.com/repos/inveniosoftware/invenio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/inveniosoftware/invenio/labels{/name}","releases_url":"https://api.github.com/repos/inveniosoftware/invenio/releases{/id}","created_at":"2011-10-28T14:33:51Z","updated_at":"2014-10-21T16:31:15Z","pushed_at":"2014-10-21T15:05:58Z","git_url":"git://github.com/inveniosoftware/invenio.git","ssh_url":"git@github.com:inveniosoftware/invenio.git","clone_url":"https://github.com/inveniosoftware/invenio.git","svn_url":"https://github.com/inveniosoftware/invenio","homepage":"http://invenio-software.org/","size":88710,"stargazers_count":36,"watchers_count":36,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":99,"mirror_url":null,"open_issues_count":860,"forks":99,"open_issues":860,"watchers":36,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443"},"html":{"href":"https://github.com/inveniosoftware/invenio/pull/2443"},"issue":{"href":"https://api.github.com/repos/inveniosoftware/invenio/issues/2443"},"comments":{"href":"https://api.github.com/repos/inveniosoftware/invenio/issues/2443/comments"},"review_comments":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443/comments"},"review_comment":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/inveniosoftware/invenio/pulls/2443/commits"},"statuses":{"href":"https://api.github.com/repos/inveniosoftware/invenio/statuses/2bcc9aa08a1b1f1a6efafeb534d7400251509403"}}}}