{"action":"created","comment":{"url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/comments/133739051","pull_request_review_id":56943720,"id":133739051,"diff_hunk":"@@ -428,6 +294,79 @@ def get_all_punctuation_map() -> Dict[int, type(None)]:\n     return punctuation_map\n \n \n+def scrub_select_apos(text: str) -> str:\n+    \"\"\"Scrubs all non-word-internal apostrophes from a text.\n+\n+    :param text: The string to be scrubbed of external apostrophes.\n+    :return: The text string, now with only internal apostrophes.\n+    \"\"\"\n+\n+    # If apos preceded by a non-word character: (?<=[^\\w])'\n+    # OR apos followed by a non-word character: |'(?=[^\\w])\n+\n+    # Using \" \" to represent non-word whitespace, \"w\" to represent a word\n+    #     character, and \"***\" to represent any sequence of any characters,\n+    #     this pattern will match:\n+    # 1) ***w' *** because the apostrophe is followed by a non-word\n+    # 2) *** 'w*** because the apostrophe follows a non-word\n+    # 3) *** ' *** because the apos. follows AND is followed by non-words\n+    # This will also work for apos. next to other punctuation and multiple\n+    #     apos. next to each other, because they count as non-word\n+\n+    pattern = re.compile(r\"(?<=[^\\w])'|'(?=[^\\w])\", re.UNICODE)","path":"lexos/processors/prepare/scrubber.py","position":546,"original_position":546,"commit_id":"c21ee815ba462dc9529566231b955449b7a7f567","original_commit_id":"c21ee815ba462dc9529566231b955449b7a7f567","user":{"login":"chantisnake","id":10100995,"avatar_url":"https://avatars2.githubusercontent.com/u/10100995?v=4","gravatar_id":"","url":"https://api.github.com/users/chantisnake","html_url":"https://github.com/chantisnake","followers_url":"https://api.github.com/users/chantisnake/followers","following_url":"https://api.github.com/users/chantisnake/following{/other_user}","gists_url":"https://api.github.com/users/chantisnake/gists{/gist_id}","starred_url":"https://api.github.com/users/chantisnake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chantisnake/subscriptions","organizations_url":"https://api.github.com/users/chantisnake/orgs","repos_url":"https://api.github.com/users/chantisnake/repos","events_url":"https://api.github.com/users/chantisnake/events{/privacy}","received_events_url":"https://api.github.com/users/chantisnake/received_events","type":"User","site_admin":false},"body":"since our definition of words are \"groups of none space characters\", don't you think uses `\\s` is more appropriate?\r\n```regex\r\n(?<=[\\s])'|'(?=[\\s])\r\n```","created_at":"2017-08-17T15:01:45Z","updated_at":"2017-08-17T15:29:01Z","html_url":"https://github.com/WheatonCS/Lexos/pull/614#discussion_r133739051","pull_request_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614","_links":{"self":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/comments/133739051"},"html":{"href":"https://github.com/WheatonCS/Lexos/pull/614#discussion_r133739051"},"pull_request":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614"}}},"pull_request":{"url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614","id":134752408,"html_url":"https://github.com/WheatonCS/Lexos/pull/614","diff_url":"https://github.com/WheatonCS/Lexos/pull/614.diff","patch_url":"https://github.com/WheatonCS/Lexos/pull/614.patch","issue_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/614","number":614,"state":"open","locked":false,"title":"feature/scrubber_cleanup","user":{"login":"EmmaGrace","id":21346018,"avatar_url":"https://avatars3.githubusercontent.com/u/21346018?v=4","gravatar_id":"","url":"https://api.github.com/users/EmmaGrace","html_url":"https://github.com/EmmaGrace","followers_url":"https://api.github.com/users/EmmaGrace/followers","following_url":"https://api.github.com/users/EmmaGrace/following{/other_user}","gists_url":"https://api.github.com/users/EmmaGrace/gists{/gist_id}","starred_url":"https://api.github.com/users/EmmaGrace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EmmaGrace/subscriptions","organizations_url":"https://api.github.com/users/EmmaGrace/orgs","repos_url":"https://api.github.com/users/EmmaGrace/repos","events_url":"https://api.github.com/users/EmmaGrace/events{/privacy}","received_events_url":"https://api.github.com/users/EmmaGrace/received_events","type":"User","site_admin":false},"body":"Code update for scrubber.py, including unit testing for new functions","created_at":"2017-08-08T20:34:10Z","updated_at":"2017-08-17T15:29:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"218d21f76c51662e865f180b56fe928918632d84","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614/commits","review_comments_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614/comments","review_comment_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls/comments{/number}","comments_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/614/comments","statuses_url":"https://api.github.com/repos/WheatonCS/Lexos/statuses/c21ee815ba462dc9529566231b955449b7a7f567","head":{"label":"WheatonCS:feature/scrubber_cleanup","ref":"feature/scrubber_cleanup","sha":"c21ee815ba462dc9529566231b955449b7a7f567","user":{"login":"WheatonCS","id":7501797,"avatar_url":"https://avatars0.githubusercontent.com/u/7501797?v=4","gravatar_id":"","url":"https://api.github.com/users/WheatonCS","html_url":"https://github.com/WheatonCS","followers_url":"https://api.github.com/users/WheatonCS/followers","following_url":"https://api.github.com/users/WheatonCS/following{/other_user}","gists_url":"https://api.github.com/users/WheatonCS/gists{/gist_id}","starred_url":"https://api.github.com/users/WheatonCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WheatonCS/subscriptions","organizations_url":"https://api.github.com/users/WheatonCS/orgs","repos_url":"https://api.github.com/users/WheatonCS/repos","events_url":"https://api.github.com/users/WheatonCS/events{/privacy}","received_events_url":"https://api.github.com/users/WheatonCS/received_events","type":"Organization","site_admin":false},"repo":{"id":10040275,"name":"Lexos","full_name":"WheatonCS/Lexos","owner":{"login":"WheatonCS","id":7501797,"avatar_url":"https://avatars0.githubusercontent.com/u/7501797?v=4","gravatar_id":"","url":"https://api.github.com/users/WheatonCS","html_url":"https://github.com/WheatonCS","followers_url":"https://api.github.com/users/WheatonCS/followers","following_url":"https://api.github.com/users/WheatonCS/following{/other_user}","gists_url":"https://api.github.com/users/WheatonCS/gists{/gist_id}","starred_url":"https://api.github.com/users/WheatonCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WheatonCS/subscriptions","organizations_url":"https://api.github.com/users/WheatonCS/orgs","repos_url":"https://api.github.com/users/WheatonCS/repos","events_url":"https://api.github.com/users/WheatonCS/events{/privacy}","received_events_url":"https://api.github.com/users/WheatonCS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/WheatonCS/Lexos","description":"Python/Flask-based website for text analysis workflow. Previous (stable) release is live at:","fork":false,"url":"https://api.github.com/repos/WheatonCS/Lexos","forks_url":"https://api.github.com/repos/WheatonCS/Lexos/forks","keys_url":"https://api.github.com/repos/WheatonCS/Lexos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WheatonCS/Lexos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WheatonCS/Lexos/teams","hooks_url":"https://api.github.com/repos/WheatonCS/Lexos/hooks","issue_events_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/events{/number}","events_url":"https://api.github.com/repos/WheatonCS/Lexos/events","assignees_url":"https://api.github.com/repos/WheatonCS/Lexos/assignees{/user}","branches_url":"https://api.github.com/repos/WheatonCS/Lexos/branches{/branch}","tags_url":"https://api.github.com/repos/WheatonCS/Lexos/tags","blobs_url":"https://api.github.com/repos/WheatonCS/Lexos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WheatonCS/Lexos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WheatonCS/Lexos/git/refs{/sha}","trees_url":"https://api.github.com/repos/WheatonCS/Lexos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WheatonCS/Lexos/statuses/{sha}","languages_url":"https://api.github.com/repos/WheatonCS/Lexos/languages","stargazers_url":"https://api.github.com/repos/WheatonCS/Lexos/stargazers","contributors_url":"https://api.github.com/repos/WheatonCS/Lexos/contributors","subscribers_url":"https://api.github.com/repos/WheatonCS/Lexos/subscribers","subscription_url":"https://api.github.com/repos/WheatonCS/Lexos/subscription","commits_url":"https://api.github.com/repos/WheatonCS/Lexos/commits{/sha}","git_commits_url":"https://api.github.com/repos/WheatonCS/Lexos/git/commits{/sha}","comments_url":"https://api.github.com/repos/WheatonCS/Lexos/comments{/number}","issue_comment_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/comments{/number}","contents_url":"https://api.github.com/repos/WheatonCS/Lexos/contents/{+path}","compare_url":"https://api.github.com/repos/WheatonCS/Lexos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WheatonCS/Lexos/merges","archive_url":"https://api.github.com/repos/WheatonCS/Lexos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WheatonCS/Lexos/downloads","issues_url":"https://api.github.com/repos/WheatonCS/Lexos/issues{/number}","pulls_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls{/number}","milestones_url":"https://api.github.com/repos/WheatonCS/Lexos/milestones{/number}","notifications_url":"https://api.github.com/repos/WheatonCS/Lexos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WheatonCS/Lexos/labels{/name}","releases_url":"https://api.github.com/repos/WheatonCS/Lexos/releases{/id}","deployments_url":"https://api.github.com/repos/WheatonCS/Lexos/deployments","created_at":"2013-05-13T20:16:10Z","updated_at":"2017-08-04T15:41:09Z","pushed_at":"2017-08-17T15:19:44Z","git_url":"git://github.com/WheatonCS/Lexos.git","ssh_url":"git@github.com:WheatonCS/Lexos.git","clone_url":"https://github.com/WheatonCS/Lexos.git","svn_url":"https://github.com/WheatonCS/Lexos","homepage":"http://lexos.wheatoncollege.edu","size":76389,"stargazers_count":51,"watchers_count":51,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":10,"mirror_url":null,"open_issues_count":85,"forks":10,"open_issues":85,"watchers":51,"default_branch":"master"}},"base":{"label":"WheatonCS:master","ref":"master","sha":"d77e4a73586bd360800ab6865b12f81c2d8c28b5","user":{"login":"WheatonCS","id":7501797,"avatar_url":"https://avatars0.githubusercontent.com/u/7501797?v=4","gravatar_id":"","url":"https://api.github.com/users/WheatonCS","html_url":"https://github.com/WheatonCS","followers_url":"https://api.github.com/users/WheatonCS/followers","following_url":"https://api.github.com/users/WheatonCS/following{/other_user}","gists_url":"https://api.github.com/users/WheatonCS/gists{/gist_id}","starred_url":"https://api.github.com/users/WheatonCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WheatonCS/subscriptions","organizations_url":"https://api.github.com/users/WheatonCS/orgs","repos_url":"https://api.github.com/users/WheatonCS/repos","events_url":"https://api.github.com/users/WheatonCS/events{/privacy}","received_events_url":"https://api.github.com/users/WheatonCS/received_events","type":"Organization","site_admin":false},"repo":{"id":10040275,"name":"Lexos","full_name":"WheatonCS/Lexos","owner":{"login":"WheatonCS","id":7501797,"avatar_url":"https://avatars0.githubusercontent.com/u/7501797?v=4","gravatar_id":"","url":"https://api.github.com/users/WheatonCS","html_url":"https://github.com/WheatonCS","followers_url":"https://api.github.com/users/WheatonCS/followers","following_url":"https://api.github.com/users/WheatonCS/following{/other_user}","gists_url":"https://api.github.com/users/WheatonCS/gists{/gist_id}","starred_url":"https://api.github.com/users/WheatonCS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WheatonCS/subscriptions","organizations_url":"https://api.github.com/users/WheatonCS/orgs","repos_url":"https://api.github.com/users/WheatonCS/repos","events_url":"https://api.github.com/users/WheatonCS/events{/privacy}","received_events_url":"https://api.github.com/users/WheatonCS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/WheatonCS/Lexos","description":"Python/Flask-based website for text analysis workflow. Previous (stable) release is live at:","fork":false,"url":"https://api.github.com/repos/WheatonCS/Lexos","forks_url":"https://api.github.com/repos/WheatonCS/Lexos/forks","keys_url":"https://api.github.com/repos/WheatonCS/Lexos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WheatonCS/Lexos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WheatonCS/Lexos/teams","hooks_url":"https://api.github.com/repos/WheatonCS/Lexos/hooks","issue_events_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/events{/number}","events_url":"https://api.github.com/repos/WheatonCS/Lexos/events","assignees_url":"https://api.github.com/repos/WheatonCS/Lexos/assignees{/user}","branches_url":"https://api.github.com/repos/WheatonCS/Lexos/branches{/branch}","tags_url":"https://api.github.com/repos/WheatonCS/Lexos/tags","blobs_url":"https://api.github.com/repos/WheatonCS/Lexos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WheatonCS/Lexos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WheatonCS/Lexos/git/refs{/sha}","trees_url":"https://api.github.com/repos/WheatonCS/Lexos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WheatonCS/Lexos/statuses/{sha}","languages_url":"https://api.github.com/repos/WheatonCS/Lexos/languages","stargazers_url":"https://api.github.com/repos/WheatonCS/Lexos/stargazers","contributors_url":"https://api.github.com/repos/WheatonCS/Lexos/contributors","subscribers_url":"https://api.github.com/repos/WheatonCS/Lexos/subscribers","subscription_url":"https://api.github.com/repos/WheatonCS/Lexos/subscription","commits_url":"https://api.github.com/repos/WheatonCS/Lexos/commits{/sha}","git_commits_url":"https://api.github.com/repos/WheatonCS/Lexos/git/commits{/sha}","comments_url":"https://api.github.com/repos/WheatonCS/Lexos/comments{/number}","issue_comment_url":"https://api.github.com/repos/WheatonCS/Lexos/issues/comments{/number}","contents_url":"https://api.github.com/repos/WheatonCS/Lexos/contents/{+path}","compare_url":"https://api.github.com/repos/WheatonCS/Lexos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WheatonCS/Lexos/merges","archive_url":"https://api.github.com/repos/WheatonCS/Lexos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WheatonCS/Lexos/downloads","issues_url":"https://api.github.com/repos/WheatonCS/Lexos/issues{/number}","pulls_url":"https://api.github.com/repos/WheatonCS/Lexos/pulls{/number}","milestones_url":"https://api.github.com/repos/WheatonCS/Lexos/milestones{/number}","notifications_url":"https://api.github.com/repos/WheatonCS/Lexos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WheatonCS/Lexos/labels{/name}","releases_url":"https://api.github.com/repos/WheatonCS/Lexos/releases{/id}","deployments_url":"https://api.github.com/repos/WheatonCS/Lexos/deployments","created_at":"2013-05-13T20:16:10Z","updated_at":"2017-08-04T15:41:09Z","pushed_at":"2017-08-17T15:19:44Z","git_url":"git://github.com/WheatonCS/Lexos.git","ssh_url":"git@github.com:WheatonCS/Lexos.git","clone_url":"https://github.com/WheatonCS/Lexos.git","svn_url":"https://github.com/WheatonCS/Lexos","homepage":"http://lexos.wheatoncollege.edu","size":76389,"stargazers_count":51,"watchers_count":51,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":10,"mirror_url":null,"open_issues_count":85,"forks":10,"open_issues":85,"watchers":51,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614"},"html":{"href":"https://github.com/WheatonCS/Lexos/pull/614"},"issue":{"href":"https://api.github.com/repos/WheatonCS/Lexos/issues/614"},"comments":{"href":"https://api.github.com/repos/WheatonCS/Lexos/issues/614/comments"},"review_comments":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614/comments"},"review_comment":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/WheatonCS/Lexos/pulls/614/commits"},"statuses":{"href":"https://api.github.com/repos/WheatonCS/Lexos/statuses/c21ee815ba462dc9529566231b955449b7a7f567"}}}}
{"actor":{"display_login":"chantisnake"}}