{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/14434","repository_url":"https://api.github.com/repos/xbmc/xbmc","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/14434/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/14434/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/14434/events","html_url":"https://github.com/xbmc/xbmc/pull/14434","id":360108044,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE1NDQ3MzEw","number":14434,"title":"Fix displaying watched items in plugins and restore functionality after #14409","user":{"login":"AkariDN","id":35409557,"node_id":"MDQ6VXNlcjM1NDA5NTU3","avatar_url":"https://avatars3.githubusercontent.com/u/35409557?v=4","gravatar_id":"","url":"https://api.github.com/users/AkariDN","html_url":"https://github.com/AkariDN","followers_url":"https://api.github.com/users/AkariDN/followers","following_url":"https://api.github.com/users/AkariDN/following{/other_user}","gists_url":"https://api.github.com/users/AkariDN/gists{/gist_id}","starred_url":"https://api.github.com/users/AkariDN/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkariDN/subscriptions","organizations_url":"https://api.github.com/users/AkariDN/orgs","repos_url":"https://api.github.com/users/AkariDN/repos","events_url":"https://api.github.com/users/AkariDN/events{/privacy}","received_events_url":"https://api.github.com/users/AkariDN/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-13T23:56:30Z","updated_at":"2018-09-13T23:58:33Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/14434","html_url":"https://github.com/xbmc/xbmc/pull/14434","diff_url":"https://github.com/xbmc/xbmc/pull/14434.diff","patch_url":"https://github.com/xbmc/xbmc/pull/14434.patch"},"body":"* Fix displaying watched/unwatched/progress items in plugins (closes [#17947](https://trac.kodi.tv/ticket/17947))\r\n* Fix \"Reset resume position\" in plugin items\r\n* Restore some video database functionality after #14409\r\n\r\n## Description\r\nNew plugin parenting rules in #14409 breaks some video database functionality e.g. GetScraperForPath() so that we cannot set different content types for plugin nodes (when it is used as a video source), plugin scanning protection in some cases and others. I've restored old functionality, but added a check that makes the parent directory of the URL with content_type option but no file equal to plugin://.\r\n```\r\n// plugin with multiple types (root)\r\nplugin://addon.id/?content_type=movies -> plugin://\r\n// plugin with multiple types (not root)\r\nplugin://addon.id/?content_type=movies&movie_id=123 -> plugin://addon.id/\r\n// plugins with a single type (root)\r\nplugin://addon.id/ -> plugin://\r\n```\r\n## Motivation and Context\r\n[Ticket #17947](https://trac.kodi.tv/ticket/17947)\r\n\r\n## How Has This Been Tested?\r\n* Build tested on Windows\r\n* Functionality tested with YouTube 6.1.4 and [test plugin](https://github.com/AkariDN/plugin.video.testlib)\r\n\r\n## Types of change\r\n- [x] **Bug fix** (non-breaking change which fixes an issue)\r\n- [ ] **Clean up** (non-breaking change which removes non-working, unmaintained functionality)\r\n- [ ] **Improvement** (non-breaking change which improves existing functionality)\r\n- [ ] **New feature** (non-breaking change which adds functionality)\r\n- [ ] **Breaking change** (fix or feature that will cause existing functionality to change)\r\n- [ ] **Cosmetic change** (non-breaking change that doesn't touch code)\r\n- [ ] **None of the above** (please explain below)\r\n\r\n## Checklist:\r\n- [x] My code follows the **[Code Guidelines](https://github.com/xbmc/xbmc/blob/master/docs/CODE_GUIDELINES.md)** of this project \r\n- [ ] My change requires a change to the documentation, either Doxygen or wiki\r\n- [ ] I have updated the documentation accordingly\r\n- [x] I have read the **[Contributing](https://github.com/xbmc/xbmc/blob/master/docs/CONTRIBUTING.md)** document\r\n- [ ] I have added tests to cover my change\r\n- [ ] All new and existing tests passed\r\n"},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/421188625","html_url":"https://github.com/xbmc/xbmc/pull/14434#issuecomment-421188625","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/14434","id":421188625,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMTE4ODYyNQ==","user":{"login":"AkariDN","id":35409557,"node_id":"MDQ6VXNlcjM1NDA5NTU3","avatar_url":"https://avatars3.githubusercontent.com/u/35409557?v=4","gravatar_id":"","url":"https://api.github.com/users/AkariDN","html_url":"https://github.com/AkariDN","followers_url":"https://api.github.com/users/AkariDN/followers","following_url":"https://api.github.com/users/AkariDN/following{/other_user}","gists_url":"https://api.github.com/users/AkariDN/gists{/gist_id}","starred_url":"https://api.github.com/users/AkariDN/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkariDN/subscriptions","organizations_url":"https://api.github.com/users/AkariDN/orgs","repos_url":"https://api.github.com/users/AkariDN/repos","events_url":"https://api.github.com/users/AkariDN/events{/privacy}","received_events_url":"https://api.github.com/users/AkariDN/received_events","type":"User","site_admin":false},"created_at":"2018-09-13T23:58:33Z","updated_at":"2018-09-13T23:58:33Z","author_association":"CONTRIBUTOR","body":"@garbear please check"}}
{"actor":{"display_login":"AkariDN"}}