{"action":"created","issue":{"url":"https://api.github.com/repos/scrapinghub/extruct/issues/69","repository_url":"https://api.github.com/repos/scrapinghub/extruct","labels_url":"https://api.github.com/repos/scrapinghub/extruct/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/scrapinghub/extruct/issues/69/comments","events_url":"https://api.github.com/repos/scrapinghub/extruct/issues/69/events","html_url":"https://github.com/scrapinghub/extruct/pull/69","id":310110953,"node_id":"MDExOlB1bGxSZXF1ZXN0MTc4NTkyOTY5","number":69,"title":"Added JSON Hot-Swapping Utility, Enabled for JSON-LD and RDFa","user":{"login":"cathalgarvey","id":1167837,"node_id":"MDQ6VXNlcjExNjc4Mzc=","avatar_url":"https://avatars3.githubusercontent.com/u/1167837?v=4","gravatar_id":"","url":"https://api.github.com/users/cathalgarvey","html_url":"https://github.com/cathalgarvey","followers_url":"https://api.github.com/users/cathalgarvey/followers","following_url":"https://api.github.com/users/cathalgarvey/following{/other_user}","gists_url":"https://api.github.com/users/cathalgarvey/gists{/gist_id}","starred_url":"https://api.github.com/users/cathalgarvey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cathalgarvey/subscriptions","organizations_url":"https://api.github.com/users/cathalgarvey/orgs","repos_url":"https://api.github.com/users/cathalgarvey/repos","events_url":"https://api.github.com/users/cathalgarvey/events{/privacy}","received_events_url":"https://api.github.com/users/cathalgarvey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-03-30T16:38:53Z","updated_at":"2018-12-11T04:02:27Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/scrapinghub/extruct/pulls/69","html_url":"https://github.com/scrapinghub/extruct/pull/69","diff_url":"https://github.com/scrapinghub/extruct/pull/69.diff","patch_url":"https://github.com/scrapinghub/extruct/pull/69.patch"},"body":"This is intended as a way to allow a library consumer to specify their own JSON decoder function to use in `extruct`.\r\n\r\nThe idea is that some json decoders, like `ujson`, can offer large gains in performance in many or most cases.. but they're not reliable enough or well-supported enough to actually switch `extruct` over to.\r\n\r\nSo, a library consumer can now do:\r\n\r\n```python\r\nimport extruct.utils\r\nextruct.utils.set_json_decoder(ujson.loads, (ValueError,))\r\n```\r\n\r\n...and `extruct` should commence using `ujson` instead of `json`. The second argument is the exceptions that the library raises on bad JSON input; the new hot-swapper will cast non-native exceptions to their native equivalents (`ValueError` in Python 2, `json.JSONDecodeError` in Python 3).\r\n\r\nSpeaking of which, this PR also contains a small fix for a subtle 2/3 bug in `extruct` where only `ValueError`s were getting caught in one code-block.\r\n\r\nThe next step for this is to profile whether `ujson` et al actually add any performance gains; if they did, then we could add them as optional features enabled via `pip` or similar."},"comment":{"url":"https://api.github.com/repos/scrapinghub/extruct/issues/comments/446064788","html_url":"https://github.com/scrapinghub/extruct/pull/69#issuecomment-446064788","issue_url":"https://api.github.com/repos/scrapinghub/extruct/issues/69","id":446064788,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NjA2NDc4OA==","user":{"login":"joaquingx","id":7599855,"node_id":"MDQ6VXNlcjc1OTk4NTU=","avatar_url":"https://avatars0.githubusercontent.com/u/7599855?v=4","gravatar_id":"","url":"https://api.github.com/users/joaquingx","html_url":"https://github.com/joaquingx","followers_url":"https://api.github.com/users/joaquingx/followers","following_url":"https://api.github.com/users/joaquingx/following{/other_user}","gists_url":"https://api.github.com/users/joaquingx/gists{/gist_id}","starred_url":"https://api.github.com/users/joaquingx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joaquingx/subscriptions","organizations_url":"https://api.github.com/users/joaquingx/orgs","repos_url":"https://api.github.com/users/joaquingx/repos","events_url":"https://api.github.com/users/joaquingx/events{/privacy}","received_events_url":"https://api.github.com/users/joaquingx/received_events","type":"User","site_admin":false},"created_at":"2018-12-11T04:02:27Z","updated_at":"2018-12-11T04:02:27Z","author_association":"NONE","body":"Hi :smile: , I just want to bump this PR, it will be merged?, what else is necessary to achieve merge?. I want to help here if it's needed :muscle: .\r\nAlso want to reference that this PR's trying to solve #49. "}}
{"actor":{"display_login":"joaquingx"}}