GitHub PullRequestReviewCommentEvent at 2014-09-05 17:22:35
Repository: edx-platform
Actor: sarina
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/comments/17184695","id":17184695,"diff_hunk":"@@ -244,12 +248,60 @@ def evaluate_answers(self, student_answers, old_cmap):\n \n         Returns the new CorrectMap, with (correctness,msg,hint,hintmode) for each answer_id.\n         \"\"\"\n-        new_cmap = self.get_score(student_answers)\n-        self.get_hints(convert_files_to_filenames(\n-            student_answers), new_cmap, old_cmap)\n-        # log.debug('new_cmap = %s' % new_cmap)\n+\n+        new_cmap = None\n+        if self.answer_ids[0] in student_answers:\n+            new_cmap = self.get_score(student_answers)\n+            self.get_hints(convert_files_to_filenames(student_answers), new_cmap, old_cmap)\n         return new_cmap\n \n+    def _using_extended_hints(self):\n+        \"\"\"\n+        Examine the problem's XML tree to determine whether the \"new style\" hint mechanism is in use.\n+\n+        Return True if it is in use.\n+        \"\"\"\n+        using_extended_hints = False  # assume we are not using new style hints\n+        xproblem_element = self.xml.getroottree().xpath('.')\n+        schema_version = xproblem_element[0].get('schema')\n+        if schema_version == 'edXML/1.0':                           # this is the right schema\n+            using_extended_hints = True                            # turns out we are using new style hints\n+        return using_extended_hints\n+\n+    def get_compound_condition_hints(self, new_cmap, student_answers):  # pylint: disable=W0613\n+        \"\"\"\n+        Check for any compound condition hints for the current question. If any are found\n+        and the selection matches the criteria specified, modify 'new_cmap'\n+        appropriately so that the hint material can be rendered further downstream.\n+\n+        Return True if any match was found\n+        \"\"\"\n+        return False\n+\n+    def get_distractor_hints(self, new_cmap, student_answers):\n+        \"\"\"\n+        Check for any single item hints for the current question. If any are found\n+        and the selection matches the criteria specified, modify 'new_cmap'\n+        appropriately so that the hint material can be rendered further downstream.\n+        \"\"\"\n+\n+    def get_xml_hints(self, student_answers, new_cmap):\n+        \"\"\"\n+        Look to the XML for any hinting which might be need to be displayed to the student.\n+        If any hint material is discovered 'new_cmap' is modified accordingly for display\n+        further downstream.\n+\n+        Return True if new style hints were found\n+        \"\"\"\n+        extended_hints_found = False\n+        if len(student_answers) > 0:                        # if the student has supplied at least one selection\n+            if self._using_extended_hints():               # if we are using new style hints","path":"common/lib/capa/capa/responsetypes.py","position":98,"original_position":98,"commit_id":"91a5c982ac75ab6bb01f8904f92cce0a0d529d39","original_commit_id":"91a5c982ac75ab6bb01f8904f92cce0a0d529d39","user":{"login":"sarina","id":1985317,"avatar_url":"https://avatars.githubusercontent.com/u/1985317?v=2","gravatar_id":"136faf64ffa4486f0038265b06756f52","url":"https://api.github.com/users/sarina","html_url":"https://github.com/sarina","followers_url":"https://api.github.com/users/sarina/followers","following_url":"https://api.github.com/users/sarina/following{/other_user}","gists_url":"https://api.github.com/users/sarina/gists{/gist_id}","starred_url":"https://api.github.com/users/sarina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sarina/subscriptions","organizations_url":"https://api.github.com/users/sarina/orgs","repos_url":"https://api.github.com/users/sarina/repos","events_url":"https://api.github.com/users/sarina/events{/privacy}","received_events_url":"https://api.github.com/users/sarina/received_events","type":"User","site_admin":false},"body":"Why not just\r\n`if len(student_answers) > 0 and self._using_extended_hints():`\r\n??","created_at":"2014-09-05T17:22:35Z","updated_at":"2014-09-05T17:22:35Z","html_url":"https://github.com/edx/edx-platform/pull/4788#discussion_r17184695","pull_request_url":"https://api.github.com/repos/edx/edx-platform/pulls/4788","_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments/17184695"},"html":{"href":"https://github.com/edx/edx-platform/pull/4788#discussion_r17184695"},"pull_request":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/4788"}}},"pull_request":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/4788","id":19634980,"html_url":"https://github.com/edx/edx-platform/pull/4788","diff_url":"https://github.com/edx/edx-platform/pull/4788.diff","patch_url":"https://github.com/edx/edx-platform/pull/4788.patch","issue_url":"https://api.github.com/repos/edx/edx-platform/issues/4788","number":4788,"state":"open","locked":false,"title":"Extended Hinting","user":{"login":"trbm","id":5750978,"avatar_url":"https://avatars.githubusercontent.com/u/5750978?v=2","gravatar_id":"78c39c1d8d0cf704856488eb2b5eb2dc","url":"https://api.github.com/users/trbm","html_url":"https://github.com/trbm","followers_url":"https://api.github.com/users/trbm/followers","following_url":"https://api.github.com/users/trbm/following{/other_user}","gists_url":"https://api.github.com/users/trbm/gists{/gist_id}","starred_url":"https://api.github.com/users/trbm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trbm/subscriptions","organizations_url":"https://api.github.com/users/trbm/orgs","repos_url":"https://api.github.com/users/trbm/repos","events_url":"https://api.github.com/users/trbm/events{/privacy}","received_events_url":"https://api.github.com/users/trbm/received_events","type":"User","site_admin":false},"body":"This pull request represents an implementation for a new hint (aka targeted feedback) mechanism designed to provide a coherent approach to hinting in all of the five most frequently used problem types: checkboxes, multiple choice, drop down, numeric input, and text input. There are four parts to this new mechanism: \r\n\r\n1) the documentation describing how the new hint material will be encoded in the XML representation of problems (see https://docs.google.com/document/d/1h1cWx24VWkYCdwQEV8rY2Jm1xcZZp6_EQQbzDqbrnks/edit#heading=h.obezscv16esk), \r\n\r\n2) a description of the new syntax added to the simple editor's markdown parser to allow a user of that tool to capture the hinting information in a way which will produce correct XML (see the link above),\r\n\r\n3) the code changes which were made to the markdown parser (see problem/edit.coffee),\r\n\r\n4) the code changes which were made to the response processing to extract the new hint material from the XML representation and add it to the html presented to the student (see responsetypes.py).","created_at":"2014-08-11T23:37:54Z","updated_at":"2014-09-05T17:22:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0d3043950a07ed63fabcf7dbd507809ac9dd3b14","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/edx/edx-platform/pulls/4788/commits","review_comments_url":"https://api.github.com/repos/edx/edx-platform/pulls/4788/comments","review_comment_url":"https://api.github.com/repos/edx/edx-platform/pulls/comments/{number}","comments_url":"https://api.github.com/repos/edx/edx-platform/issues/4788/comments","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/91a5c982ac75ab6bb01f8904f92cce0a0d529d39","head":{"label":"edx:trbm/hints_PR","ref":"trbm/hints_PR","sha":"91a5c982ac75ab6bb01f8904f92cce0a0d529d39","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=2","gravatar_id":"e1f6c6dc8772c47c0261cd5df2ed2814","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=2","gravatar_id":"e1f6c6dc8772c47c0261cd5df2ed2814","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"Open edX, the edX platform that powers http://edx.org","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments/{number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","created_at":"2013-05-30T20:20:38Z","updated_at":"2014-09-05T06:40:09Z","pushed_at":"2014-09-05T17:20:55Z","git_url":"git://github.com/edx/edx-platform.git","ssh_url":"git@github.com:edx/edx-platform.git","clone_url":"https://github.com/edx/edx-platform.git","svn_url":"https://github.com/edx/edx-platform","homepage":"http://openedx.org/","size":1573780,"stargazers_count":1403,"watchers_count":1403,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":797,"mirror_url":null,"open_issues_count":101,"forks":797,"open_issues":101,"watchers":1403,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"2cba87d0e7f427745732149b0b50b7c2ef206acf","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=2","gravatar_id":"e1f6c6dc8772c47c0261cd5df2ed2814","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=2","gravatar_id":"e1f6c6dc8772c47c0261cd5df2ed2814","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"Open edX, the edX platform that powers http://edx.org","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments/{number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","created_at":"2013-05-30T20:20:38Z","updated_at":"2014-09-05T06:40:09Z","pushed_at":"2014-09-05T17:20:55Z","git_url":"git://github.com/edx/edx-platform.git","ssh_url":"git@github.com:edx/edx-platform.git","clone_url":"https://github.com/edx/edx-platform.git","svn_url":"https://github.com/edx/edx-platform","homepage":"http://openedx.org/","size":1573780,"stargazers_count":1403,"watchers_count":1403,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"forks_count":797,"mirror_url":null,"open_issues_count":101,"forks":797,"open_issues":101,"watchers":1403,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/4788"},"html":{"href":"https://github.com/edx/edx-platform/pull/4788"},"issue":{"href":"https://api.github.com/repos/edx/edx-platform/issues/4788"},"comments":{"href":"https://api.github.com/repos/edx/edx-platform/issues/4788/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/4788/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/4788/commits"},"statuses":{"href":"https://api.github.com/repos/edx/edx-platform/statuses/91a5c982ac75ab6bb01f8904f92cce0a0d529d39"}}}}