{"action":"closed","number":52,"pull_request":{"url":"https://api.github.com/repos/tiarno/plastex/pulls/52","id":99224681,"html_url":"https://github.com/tiarno/plastex/pull/52","diff_url":"https://github.com/tiarno/plastex/pull/52.diff","patch_url":"https://github.com/tiarno/plastex/pull/52.patch","issue_url":"https://api.github.com/repos/tiarno/plastex/issues/52","number":52,"state":"closed","locked":false,"title":"Use unidecode to compute index group","user":{"login":"PatrickMassot","id":14060883,"avatar_url":"https://avatars.githubusercontent.com/u/14060883?v=3","gravatar_id":"","url":"https://api.github.com/users/PatrickMassot","html_url":"https://github.com/PatrickMassot","followers_url":"https://api.github.com/users/PatrickMassot/followers","following_url":"https://api.github.com/users/PatrickMassot/following{/other_user}","gists_url":"https://api.github.com/users/PatrickMassot/gists{/gist_id}","starred_url":"https://api.github.com/users/PatrickMassot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PatrickMassot/subscriptions","organizations_url":"https://api.github.com/users/PatrickMassot/orgs","repos_url":"https://api.github.com/users/PatrickMassot/repos","events_url":"https://api.github.com/users/PatrickMassot/events{/privacy}","received_events_url":"https://api.github.com/users/PatrickMassot/received_events","type":"User","site_admin":false},"body":"Currently ``Base/LaTeX/Index.py`` which handles index creation does not quite work with non-ascii entries. It does use pyuca for proper ordering but then it must put entries into groups and this is where it breaks. For instance, an entry \"équivalence d'homotopie\" is currently put in group \"Symbols\" instead of \"E\".\r\n\r\nIt seems to me the relevant standard python lib is [unidecode](https://pypi.python.org/pypi/Unidecode) so this is what I use in this PR.\r\n\r\nI think it's also worthwhile to discuss the following points that I met while searching for the source of the bug:\r\n\r\n* plasTeX is currently [vendorizing](http://bitprophet.org/blog/2012/06/07/on-vendorizing/) the collation lib [pyuca](https://github.com/jtauber/pyuca). I guess this a decision was taken a long time ago. Does it  need to be reconsidered?\r\n\r\n* ``plasTeX/encoding.py`` currently calls ``locale.getlocale`` but, as far as I can see, plasTeX nowhere calls ``locale.setlocale()`` so I think ``getlocale`` will never return anything useful. Recall that, according to [doc](https://docs.python.org/2/library/locale.html), the way to say we want to use system locale is to call ``locale.setlocale(locale.LC_ALL, '')``, it is _not_ to call ``getlocale`` without first calling ``setlocale`` as anyone would expect.","created_at":"2016-12-23T10:22:19Z","updated_at":"2016-12-24T01:52:22Z","closed_at":"2016-12-24T01:52:22Z","merged_at":"2016-12-24T01:52:22Z","merge_commit_sha":"2894c1cc71ad9bebf074b3cbe6ff95a4abbd3f91","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/tiarno/plastex/pulls/52/commits","review_comments_url":"https://api.github.com/repos/tiarno/plastex/pulls/52/comments","review_comment_url":"https://api.github.com/repos/tiarno/plastex/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tiarno/plastex/issues/52/comments","statuses_url":"https://api.github.com/repos/tiarno/plastex/statuses/38190b50d691cbae753f32b37d7e12085af8f2cd","head":{"label":"PatrickMassot:index_sorting","ref":"index_sorting","sha":"38190b50d691cbae753f32b37d7e12085af8f2cd","user":{"login":"PatrickMassot","id":14060883,"avatar_url":"https://avatars.githubusercontent.com/u/14060883?v=3","gravatar_id":"","url":"https://api.github.com/users/PatrickMassot","html_url":"https://github.com/PatrickMassot","followers_url":"https://api.github.com/users/PatrickMassot/followers","following_url":"https://api.github.com/users/PatrickMassot/following{/other_user}","gists_url":"https://api.github.com/users/PatrickMassot/gists{/gist_id}","starred_url":"https://api.github.com/users/PatrickMassot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PatrickMassot/subscriptions","organizations_url":"https://api.github.com/users/PatrickMassot/orgs","repos_url":"https://api.github.com/users/PatrickMassot/repos","events_url":"https://api.github.com/users/PatrickMassot/events{/privacy}","received_events_url":"https://api.github.com/users/PatrickMassot/received_events","type":"User","site_admin":false},"repo":{"id":60694039,"name":"plastex","full_name":"PatrickMassot/plastex","owner":{"login":"PatrickMassot","id":14060883,"avatar_url":"https://avatars.githubusercontent.com/u/14060883?v=3","gravatar_id":"","url":"https://api.github.com/users/PatrickMassot","html_url":"https://github.com/PatrickMassot","followers_url":"https://api.github.com/users/PatrickMassot/followers","following_url":"https://api.github.com/users/PatrickMassot/following{/other_user}","gists_url":"https://api.github.com/users/PatrickMassot/gists{/gist_id}","starred_url":"https://api.github.com/users/PatrickMassot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PatrickMassot/subscriptions","organizations_url":"https://api.github.com/users/PatrickMassot/orgs","repos_url":"https://api.github.com/users/PatrickMassot/repos","events_url":"https://api.github.com/users/PatrickMassot/events{/privacy}","received_events_url":"https://api.github.com/users/PatrickMassot/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/PatrickMassot/plastex","description":"Python package to convert LaTeX markup to DOM","fork":true,"url":"https://api.github.com/repos/PatrickMassot/plastex","forks_url":"https://api.github.com/repos/PatrickMassot/plastex/forks","keys_url":"https://api.github.com/repos/PatrickMassot/plastex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PatrickMassot/plastex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PatrickMassot/plastex/teams","hooks_url":"https://api.github.com/repos/PatrickMassot/plastex/hooks","issue_events_url":"https://api.github.com/repos/PatrickMassot/plastex/issues/events{/number}","events_url":"https://api.github.com/repos/PatrickMassot/plastex/events","assignees_url":"https://api.github.com/repos/PatrickMassot/plastex/assignees{/user}","branches_url":"https://api.github.com/repos/PatrickMassot/plastex/branches{/branch}","tags_url":"https://api.github.com/repos/PatrickMassot/plastex/tags","blobs_url":"https://api.github.com/repos/PatrickMassot/plastex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PatrickMassot/plastex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PatrickMassot/plastex/git/refs{/sha}","trees_url":"https://api.github.com/repos/PatrickMassot/plastex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PatrickMassot/plastex/statuses/{sha}","languages_url":"https://api.github.com/repos/PatrickMassot/plastex/languages","stargazers_url":"https://api.github.com/repos/PatrickMassot/plastex/stargazers","contributors_url":"https://api.github.com/repos/PatrickMassot/plastex/contributors","subscribers_url":"https://api.github.com/repos/PatrickMassot/plastex/subscribers","subscription_url":"https://api.github.com/repos/PatrickMassot/plastex/subscription","commits_url":"https://api.github.com/repos/PatrickMassot/plastex/commits{/sha}","git_commits_url":"https://api.github.com/repos/PatrickMassot/plastex/git/commits{/sha}","comments_url":"https://api.github.com/repos/PatrickMassot/plastex/comments{/number}","issue_comment_url":"https://api.github.com/repos/PatrickMassot/plastex/issues/comments{/number}","contents_url":"https://api.github.com/repos/PatrickMassot/plastex/contents/{+path}","compare_url":"https://api.github.com/repos/PatrickMassot/plastex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PatrickMassot/plastex/merges","archive_url":"https://api.github.com/repos/PatrickMassot/plastex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PatrickMassot/plastex/downloads","issues_url":"https://api.github.com/repos/PatrickMassot/plastex/issues{/number}","pulls_url":"https://api.github.com/repos/PatrickMassot/plastex/pulls{/number}","milestones_url":"https://api.github.com/repos/PatrickMassot/plastex/milestones{/number}","notifications_url":"https://api.github.com/repos/PatrickMassot/plastex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PatrickMassot/plastex/labels{/name}","releases_url":"https://api.github.com/repos/PatrickMassot/plastex/releases{/id}","deployments_url":"https://api.github.com/repos/PatrickMassot/plastex/deployments","created_at":"2016-06-08T11:50:50Z","updated_at":"2016-06-08T11:50:52Z","pushed_at":"2016-12-23T17:08:51Z","git_url":"git://github.com/PatrickMassot/plastex.git","ssh_url":"git@github.com:PatrickMassot/plastex.git","clone_url":"https://github.com/PatrickMassot/plastex.git","svn_url":"https://github.com/PatrickMassot/plastex","homepage":null,"size":2990,"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":"master"}},"base":{"label":"tiarno:master","ref":"master","sha":"153d73f37e236af45fb64918d0284e48baa9751b","user":{"login":"tiarno","id":785179,"avatar_url":"https://avatars.githubusercontent.com/u/785179?v=3","gravatar_id":"","url":"https://api.github.com/users/tiarno","html_url":"https://github.com/tiarno","followers_url":"https://api.github.com/users/tiarno/followers","following_url":"https://api.github.com/users/tiarno/following{/other_user}","gists_url":"https://api.github.com/users/tiarno/gists{/gist_id}","starred_url":"https://api.github.com/users/tiarno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiarno/subscriptions","organizations_url":"https://api.github.com/users/tiarno/orgs","repos_url":"https://api.github.com/users/tiarno/repos","events_url":"https://api.github.com/users/tiarno/events{/privacy}","received_events_url":"https://api.github.com/users/tiarno/received_events","type":"User","site_admin":false},"repo":{"id":17483722,"name":"plastex","full_name":"tiarno/plastex","owner":{"login":"tiarno","id":785179,"avatar_url":"https://avatars.githubusercontent.com/u/785179?v=3","gravatar_id":"","url":"https://api.github.com/users/tiarno","html_url":"https://github.com/tiarno","followers_url":"https://api.github.com/users/tiarno/followers","following_url":"https://api.github.com/users/tiarno/following{/other_user}","gists_url":"https://api.github.com/users/tiarno/gists{/gist_id}","starred_url":"https://api.github.com/users/tiarno/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiarno/subscriptions","organizations_url":"https://api.github.com/users/tiarno/orgs","repos_url":"https://api.github.com/users/tiarno/repos","events_url":"https://api.github.com/users/tiarno/events{/privacy}","received_events_url":"https://api.github.com/users/tiarno/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tiarno/plastex","description":"Python package to convert LaTeX markup to DOM","fork":false,"url":"https://api.github.com/repos/tiarno/plastex","forks_url":"https://api.github.com/repos/tiarno/plastex/forks","keys_url":"https://api.github.com/repos/tiarno/plastex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tiarno/plastex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tiarno/plastex/teams","hooks_url":"https://api.github.com/repos/tiarno/plastex/hooks","issue_events_url":"https://api.github.com/repos/tiarno/plastex/issues/events{/number}","events_url":"https://api.github.com/repos/tiarno/plastex/events","assignees_url":"https://api.github.com/repos/tiarno/plastex/assignees{/user}","branches_url":"https://api.github.com/repos/tiarno/plastex/branches{/branch}","tags_url":"https://api.github.com/repos/tiarno/plastex/tags","blobs_url":"https://api.github.com/repos/tiarno/plastex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tiarno/plastex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tiarno/plastex/git/refs{/sha}","trees_url":"https://api.github.com/repos/tiarno/plastex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tiarno/plastex/statuses/{sha}","languages_url":"https://api.github.com/repos/tiarno/plastex/languages","stargazers_url":"https://api.github.com/repos/tiarno/plastex/stargazers","contributors_url":"https://api.github.com/repos/tiarno/plastex/contributors","subscribers_url":"https://api.github.com/repos/tiarno/plastex/subscribers","subscription_url":"https://api.github.com/repos/tiarno/plastex/subscription","commits_url":"https://api.github.com/repos/tiarno/plastex/commits{/sha}","git_commits_url":"https://api.github.com/repos/tiarno/plastex/git/commits{/sha}","comments_url":"https://api.github.com/repos/tiarno/plastex/comments{/number}","issue_comment_url":"https://api.github.com/repos/tiarno/plastex/issues/comments{/number}","contents_url":"https://api.github.com/repos/tiarno/plastex/contents/{+path}","compare_url":"https://api.github.com/repos/tiarno/plastex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tiarno/plastex/merges","archive_url":"https://api.github.com/repos/tiarno/plastex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tiarno/plastex/downloads","issues_url":"https://api.github.com/repos/tiarno/plastex/issues{/number}","pulls_url":"https://api.github.com/repos/tiarno/plastex/pulls{/number}","milestones_url":"https://api.github.com/repos/tiarno/plastex/milestones{/number}","notifications_url":"https://api.github.com/repos/tiarno/plastex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tiarno/plastex/labels{/name}","releases_url":"https://api.github.com/repos/tiarno/plastex/releases{/id}","deployments_url":"https://api.github.com/repos/tiarno/plastex/deployments","created_at":"2014-03-06T16:10:23Z","updated_at":"2016-12-17T07:40:06Z","pushed_at":"2016-12-24T01:52:22Z","git_url":"git://github.com/tiarno/plastex.git","ssh_url":"git@github.com:tiarno/plastex.git","clone_url":"https://github.com/tiarno/plastex.git","svn_url":"https://github.com/tiarno/plastex","homepage":null,"size":2624,"stargazers_count":65,"watchers_count":65,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":20,"mirror_url":null,"open_issues_count":14,"forks":20,"open_issues":14,"watchers":65,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tiarno/plastex/pulls/52"},"html":{"href":"https://github.com/tiarno/plastex/pull/52"},"issue":{"href":"https://api.github.com/repos/tiarno/plastex/issues/52"},"comments":{"href":"https://api.github.com/repos/tiarno/plastex/issues/52/comments"},"review_comments":{"href":"https://api.github.com/repos/tiarno/plastex/pulls/52/comments"},"review_comment":{"href":"https://api.github.com/repos/tiarno/plastex/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tiarno/plastex/pulls/52/commits"},"statuses":{"href":"https://api.github.com/repos/tiarno/plastex/statuses/38190b50d691cbae753f32b37d7e12085af8f2cd"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"kesmit13","id":6206744,"avatar_url":"https://avatars.githubusercontent.com/u/6206744?v=3","gravatar_id":"","url":"https://api.github.com/users/kesmit13","html_url":"https://github.com/kesmit13","followers_url":"https://api.github.com/users/kesmit13/followers","following_url":"https://api.github.com/users/kesmit13/following{/other_user}","gists_url":"https://api.github.com/users/kesmit13/gists{/gist_id}","starred_url":"https://api.github.com/users/kesmit13/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kesmit13/subscriptions","organizations_url":"https://api.github.com/users/kesmit13/orgs","repos_url":"https://api.github.com/users/kesmit13/repos","events_url":"https://api.github.com/users/kesmit13/events{/privacy}","received_events_url":"https://api.github.com/users/kesmit13/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":11,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"kesmit13"}}