{"action":"created","comment":{"url":"https://api.github.com/repos/rg3/youtube-dl/pulls/comments/93055838","pull_request_review_id":13576929,"id":93055838,"diff_hunk":"@@ -0,0 +1,91 @@\n+# coding: utf-8\n+from __future__ import unicode_literals\n+\n+from .common import InfoExtractor\n+import urlparse\n+import os.path\n+import json\n+from ..utils import (\n+    sanitized_Request,\n+    urlencode_postdata\n+)\n+\n+\n+class SeesoIE(InfoExtractor):\n+    _VALID_URL = r'https?://(?:www\\.)?seeso\\.com/view/episode/(?P<id>[0-9]+)'\n+    _TEST = {\n+        'params': {\n+            'username': 'emailhere',\n+            'password': 'passwordhere'\n+        },\n+        'url': 'https://www.seeso.com/view/episode/799241283849',\n+        'info_dict': {\n+            'id': '799241283849',\n+            'ext': 'mp4',\n+            'series': 'Bajillion Dollar Propertie$',\n+            'title': 'Farsi Lessons',\n+            'description': (\"Amir leads Victoria into a trap, the Bros meet a super obnoxious bro, \"\n+                            \"and rival brokers Serge and Gio intimidate Glenn.\"),\n+            'thumbnail': 'https://chaosic.akamaized.net/NBCOTT_-_Production/360/907/160831_3092487_Farsi_Lessons.jpg',\n+        }\n+    }\n+\n+    def _real_extract(self, url):\n+        username, password = self._get_login_info()\n+        video_id = self._match_id(url)\n+\n+        if username is None or password is None:\n+            return\n+\n+        _API_AUTH_URL = \"https://www.seeso.com/api/v3/auth/login\"\n+        auth_json = {\n+            \"username\": username,\n+            \"password\": password,\n+            \"userOnly\": True,\n+            \"isRememberMe\": True,\n+            \"isWeb\": True\n+        }\n+\n+        # Send auth POST request and get token from response\n+        auth_request = sanitized_Request(_API_AUTH_URL, urlencode_postdata(auth_json))\n+        auth_response = json.loads(self._download_webpage(auth_request, '', note='Getting auth token...'))\n+        auth_token = auth_response.get('user').get('token')\n+\n+        # Use the public unauthenticated API to get the video's info\n+        _VIDEO_INFO_URL = 'https://feed.theplatform.com/f/NZILfC/nbcott-prod-all-media?byAvailabilityState=' \\\n+                          'available&byId=%s&form=cjson'\n+        request = sanitized_Request(_VIDEO_INFO_URL % video_id)\n+        json_data = self._download_json(request, video_id)\n+        entry = json_data.get('entries')[0]\n+\n+        # Template fields\n+        series = entry[\"nbc-chaos$show\"]                    # Show name\n+        title = entry[\"nbc-chaos$shortTitle\"]               # Episode Name\n+        season_number = entry[\"nbc-chaos$seasonNumber\"]\n+        episode_number = entry[\"nbc-chaos$episodeNumber\"]\n+        thumbnail = entry[\"defaultThumbnailUrl\"]\n+        description = entry[\"nbc-chaos$shortDescription\"]","path":"youtube_dl/extractor/seeso.py","position":67,"original_position":67,"commit_id":"04f9c9b5fbc622933eacf4f3de5d607a6d61014b","original_commit_id":"04f9c9b5fbc622933eacf4f3de5d607a6d61014b","user":{"login":"sa7mon","id":3712226,"avatar_url":"https://avatars.githubusercontent.com/u/3712226?v=3","gravatar_id":"","url":"https://api.github.com/users/sa7mon","html_url":"https://github.com/sa7mon","followers_url":"https://api.github.com/users/sa7mon/followers","following_url":"https://api.github.com/users/sa7mon/following{/other_user}","gists_url":"https://api.github.com/users/sa7mon/gists{/gist_id}","starred_url":"https://api.github.com/users/sa7mon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sa7mon/subscriptions","organizations_url":"https://api.github.com/users/sa7mon/orgs","repos_url":"https://api.github.com/users/sa7mon/repos","events_url":"https://api.github.com/users/sa7mon/events{/privacy}","received_events_url":"https://api.github.com/users/sa7mon/received_events","type":"User","site_admin":false},"body":"Are you saying that's the way it currently is, or that's the way it should be? ","created_at":"2016-12-19T15:41:00Z","updated_at":"2016-12-19T15:41:00Z","html_url":"https://github.com/rg3/youtube-dl/pull/11484#discussion_r93055838","pull_request_url":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484","_links":{"self":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/comments/93055838"},"html":{"href":"https://github.com/rg3/youtube-dl/pull/11484#discussion_r93055838"},"pull_request":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484"}}},"pull_request":{"url":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484","id":98508682,"html_url":"https://github.com/rg3/youtube-dl/pull/11484","diff_url":"https://github.com/rg3/youtube-dl/pull/11484.diff","patch_url":"https://github.com/rg3/youtube-dl/pull/11484.patch","issue_url":"https://api.github.com/repos/rg3/youtube-dl/issues/11484","number":11484,"state":"open","locked":false,"title":"[Seeso] Add new extractor","user":{"login":"sa7mon","id":3712226,"avatar_url":"https://avatars.githubusercontent.com/u/3712226?v=3","gravatar_id":"","url":"https://api.github.com/users/sa7mon","html_url":"https://github.com/sa7mon","followers_url":"https://api.github.com/users/sa7mon/followers","following_url":"https://api.github.com/users/sa7mon/following{/other_user}","gists_url":"https://api.github.com/users/sa7mon/gists{/gist_id}","starred_url":"https://api.github.com/users/sa7mon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sa7mon/subscriptions","organizations_url":"https://api.github.com/users/sa7mon/orgs","repos_url":"https://api.github.com/users/sa7mon/repos","events_url":"https://api.github.com/users/sa7mon/events{/privacy}","received_events_url":"https://api.github.com/users/sa7mon/received_events","type":"User","site_admin":false},"body":"## Please follow the guide below\r\n\r\n- You will be asked some questions, please read them **carefully** and answer honestly\r\n- Put an `x` into all the boxes [ ] relevant to your *pull request* (like that [x])\r\n- Use *Preview* tab to see how your *pull request* will actually look like\r\n\r\n---\r\n\r\n### Before submitting a *pull request* make sure you have:\r\n- [x] At least skimmed through [adding new extractor tutorial](https://github.com/rg3/youtube-dl#adding-support-for-a-new-site) and [youtube-dl coding conventions](https://github.com/rg3/youtube-dl#youtube-dl-coding-conventions) sections\r\n- [x] [Searched](https://github.com/rg3/youtube-dl/search?q=is%3Apr&type=Issues) the bugtracker for similar pull requests\r\n\r\n### In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under [Unlicense](http://unlicense.org/). Check one of the following options:\r\n- [x] I am the original author of this code and I am willing to release it under [Unlicense](http://unlicense.org/)\r\n- [ ] I am not the original author of this code but it is in public domain or released under [Unlicense](http://unlicense.org/) (provide reliable evidence)\r\n\r\n### What is the purpose of your *pull request*?\r\n- [ ] Bug fix\r\n- [ ] Improvement\r\n- [x] New extractor\r\n- [ ] New feature\r\n\r\n---\r\n\r\n### Description of your *pull request* and other information\r\n\r\nExplanation of your *pull request* in arbitrary form goes here. Please make sure the description explains the purpose and effect of your *pull request* and is worded well enough to be understood. Provide as much context and examples as possible.\r\n\r\nThis pull request is to add an extractor the videos from [Seeso](https://www.seeso.com) which has a ton of content. The test is passing 100% and I've run the PEP8 code inspector builtin to PyCharm. If the devs would like valid credentials to test with, feel free to contact me, otherwise you can sign up for a free month right now.\r\n\r\nThanks!\r\n","created_at":"2016-12-19T05:19:56Z","updated_at":"2016-12-19T15:41:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a1130ba5436e3f893f93f97d92ac4157cf96fe22","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484/commits","review_comments_url":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484/comments","review_comment_url":"https://api.github.com/repos/rg3/youtube-dl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rg3/youtube-dl/issues/11484/comments","statuses_url":"https://api.github.com/repos/rg3/youtube-dl/statuses/04f9c9b5fbc622933eacf4f3de5d607a6d61014b","head":{"label":"sa7mon:master","ref":"master","sha":"04f9c9b5fbc622933eacf4f3de5d607a6d61014b","user":{"login":"sa7mon","id":3712226,"avatar_url":"https://avatars.githubusercontent.com/u/3712226?v=3","gravatar_id":"","url":"https://api.github.com/users/sa7mon","html_url":"https://github.com/sa7mon","followers_url":"https://api.github.com/users/sa7mon/followers","following_url":"https://api.github.com/users/sa7mon/following{/other_user}","gists_url":"https://api.github.com/users/sa7mon/gists{/gist_id}","starred_url":"https://api.github.com/users/sa7mon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sa7mon/subscriptions","organizations_url":"https://api.github.com/users/sa7mon/orgs","repos_url":"https://api.github.com/users/sa7mon/repos","events_url":"https://api.github.com/users/sa7mon/events{/privacy}","received_events_url":"https://api.github.com/users/sa7mon/received_events","type":"User","site_admin":false},"repo":{"id":76696644,"name":"youtube-dl","full_name":"sa7mon/youtube-dl","owner":{"login":"sa7mon","id":3712226,"avatar_url":"https://avatars.githubusercontent.com/u/3712226?v=3","gravatar_id":"","url":"https://api.github.com/users/sa7mon","html_url":"https://github.com/sa7mon","followers_url":"https://api.github.com/users/sa7mon/followers","following_url":"https://api.github.com/users/sa7mon/following{/other_user}","gists_url":"https://api.github.com/users/sa7mon/gists{/gist_id}","starred_url":"https://api.github.com/users/sa7mon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sa7mon/subscriptions","organizations_url":"https://api.github.com/users/sa7mon/orgs","repos_url":"https://api.github.com/users/sa7mon/repos","events_url":"https://api.github.com/users/sa7mon/events{/privacy}","received_events_url":"https://api.github.com/users/sa7mon/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sa7mon/youtube-dl","description":"Command-line program to download videos from YouTube.com and other video sites","fork":true,"url":"https://api.github.com/repos/sa7mon/youtube-dl","forks_url":"https://api.github.com/repos/sa7mon/youtube-dl/forks","keys_url":"https://api.github.com/repos/sa7mon/youtube-dl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sa7mon/youtube-dl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sa7mon/youtube-dl/teams","hooks_url":"https://api.github.com/repos/sa7mon/youtube-dl/hooks","issue_events_url":"https://api.github.com/repos/sa7mon/youtube-dl/issues/events{/number}","events_url":"https://api.github.com/repos/sa7mon/youtube-dl/events","assignees_url":"https://api.github.com/repos/sa7mon/youtube-dl/assignees{/user}","branches_url":"https://api.github.com/repos/sa7mon/youtube-dl/branches{/branch}","tags_url":"https://api.github.com/repos/sa7mon/youtube-dl/tags","blobs_url":"https://api.github.com/repos/sa7mon/youtube-dl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sa7mon/youtube-dl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sa7mon/youtube-dl/git/refs{/sha}","trees_url":"https://api.github.com/repos/sa7mon/youtube-dl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sa7mon/youtube-dl/statuses/{sha}","languages_url":"https://api.github.com/repos/sa7mon/youtube-dl/languages","stargazers_url":"https://api.github.com/repos/sa7mon/youtube-dl/stargazers","contributors_url":"https://api.github.com/repos/sa7mon/youtube-dl/contributors","subscribers_url":"https://api.github.com/repos/sa7mon/youtube-dl/subscribers","subscription_url":"https://api.github.com/repos/sa7mon/youtube-dl/subscription","commits_url":"https://api.github.com/repos/sa7mon/youtube-dl/commits{/sha}","git_commits_url":"https://api.github.com/repos/sa7mon/youtube-dl/git/commits{/sha}","comments_url":"https://api.github.com/repos/sa7mon/youtube-dl/comments{/number}","issue_comment_url":"https://api.github.com/repos/sa7mon/youtube-dl/issues/comments{/number}","contents_url":"https://api.github.com/repos/sa7mon/youtube-dl/contents/{+path}","compare_url":"https://api.github.com/repos/sa7mon/youtube-dl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sa7mon/youtube-dl/merges","archive_url":"https://api.github.com/repos/sa7mon/youtube-dl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sa7mon/youtube-dl/downloads","issues_url":"https://api.github.com/repos/sa7mon/youtube-dl/issues{/number}","pulls_url":"https://api.github.com/repos/sa7mon/youtube-dl/pulls{/number}","milestones_url":"https://api.github.com/repos/sa7mon/youtube-dl/milestones{/number}","notifications_url":"https://api.github.com/repos/sa7mon/youtube-dl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sa7mon/youtube-dl/labels{/name}","releases_url":"https://api.github.com/repos/sa7mon/youtube-dl/releases{/id}","deployments_url":"https://api.github.com/repos/sa7mon/youtube-dl/deployments","created_at":"2016-12-17T01:16:51Z","updated_at":"2016-12-17T01:17:19Z","pushed_at":"2016-12-19T05:09:30Z","git_url":"git://github.com/sa7mon/youtube-dl.git","ssh_url":"git@github.com:sa7mon/youtube-dl.git","clone_url":"https://github.com/sa7mon/youtube-dl.git","svn_url":"https://github.com/sa7mon/youtube-dl","homepage":"http://rg3.github.io/youtube-dl/","size":43013,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"rg3:master","ref":"master","sha":"954529c10fd847d58374dda2a3661f0df2c1d5f6","user":{"login":"rg3","id":53487,"avatar_url":"https://avatars.githubusercontent.com/u/53487?v=3","gravatar_id":"","url":"https://api.github.com/users/rg3","html_url":"https://github.com/rg3","followers_url":"https://api.github.com/users/rg3/followers","following_url":"https://api.github.com/users/rg3/following{/other_user}","gists_url":"https://api.github.com/users/rg3/gists{/gist_id}","starred_url":"https://api.github.com/users/rg3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rg3/subscriptions","organizations_url":"https://api.github.com/users/rg3/orgs","repos_url":"https://api.github.com/users/rg3/repos","events_url":"https://api.github.com/users/rg3/events{/privacy}","received_events_url":"https://api.github.com/users/rg3/received_events","type":"User","site_admin":false},"repo":{"id":1039520,"name":"youtube-dl","full_name":"rg3/youtube-dl","owner":{"login":"rg3","id":53487,"avatar_url":"https://avatars.githubusercontent.com/u/53487?v=3","gravatar_id":"","url":"https://api.github.com/users/rg3","html_url":"https://github.com/rg3","followers_url":"https://api.github.com/users/rg3/followers","following_url":"https://api.github.com/users/rg3/following{/other_user}","gists_url":"https://api.github.com/users/rg3/gists{/gist_id}","starred_url":"https://api.github.com/users/rg3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rg3/subscriptions","organizations_url":"https://api.github.com/users/rg3/orgs","repos_url":"https://api.github.com/users/rg3/repos","events_url":"https://api.github.com/users/rg3/events{/privacy}","received_events_url":"https://api.github.com/users/rg3/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rg3/youtube-dl","description":"Command-line program to download videos from YouTube.com and other video sites","fork":false,"url":"https://api.github.com/repos/rg3/youtube-dl","forks_url":"https://api.github.com/repos/rg3/youtube-dl/forks","keys_url":"https://api.github.com/repos/rg3/youtube-dl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rg3/youtube-dl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rg3/youtube-dl/teams","hooks_url":"https://api.github.com/repos/rg3/youtube-dl/hooks","issue_events_url":"https://api.github.com/repos/rg3/youtube-dl/issues/events{/number}","events_url":"https://api.github.com/repos/rg3/youtube-dl/events","assignees_url":"https://api.github.com/repos/rg3/youtube-dl/assignees{/user}","branches_url":"https://api.github.com/repos/rg3/youtube-dl/branches{/branch}","tags_url":"https://api.github.com/repos/rg3/youtube-dl/tags","blobs_url":"https://api.github.com/repos/rg3/youtube-dl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rg3/youtube-dl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rg3/youtube-dl/git/refs{/sha}","trees_url":"https://api.github.com/repos/rg3/youtube-dl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rg3/youtube-dl/statuses/{sha}","languages_url":"https://api.github.com/repos/rg3/youtube-dl/languages","stargazers_url":"https://api.github.com/repos/rg3/youtube-dl/stargazers","contributors_url":"https://api.github.com/repos/rg3/youtube-dl/contributors","subscribers_url":"https://api.github.com/repos/rg3/youtube-dl/subscribers","subscription_url":"https://api.github.com/repos/rg3/youtube-dl/subscription","commits_url":"https://api.github.com/repos/rg3/youtube-dl/commits{/sha}","git_commits_url":"https://api.github.com/repos/rg3/youtube-dl/git/commits{/sha}","comments_url":"https://api.github.com/repos/rg3/youtube-dl/comments{/number}","issue_comment_url":"https://api.github.com/repos/rg3/youtube-dl/issues/comments{/number}","contents_url":"https://api.github.com/repos/rg3/youtube-dl/contents/{+path}","compare_url":"https://api.github.com/repos/rg3/youtube-dl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rg3/youtube-dl/merges","archive_url":"https://api.github.com/repos/rg3/youtube-dl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rg3/youtube-dl/downloads","issues_url":"https://api.github.com/repos/rg3/youtube-dl/issues{/number}","pulls_url":"https://api.github.com/repos/rg3/youtube-dl/pulls{/number}","milestones_url":"https://api.github.com/repos/rg3/youtube-dl/milestones{/number}","notifications_url":"https://api.github.com/repos/rg3/youtube-dl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rg3/youtube-dl/labels{/name}","releases_url":"https://api.github.com/repos/rg3/youtube-dl/releases{/id}","deployments_url":"https://api.github.com/repos/rg3/youtube-dl/deployments","created_at":"2010-10-31T14:35:07Z","updated_at":"2016-12-19T15:30:32Z","pushed_at":"2016-12-19T15:27:35Z","git_url":"git://github.com/rg3/youtube-dl.git","ssh_url":"git@github.com:rg3/youtube-dl.git","clone_url":"https://github.com/rg3/youtube-dl.git","svn_url":"https://github.com/rg3/youtube-dl","homepage":"http://rg3.github.io/youtube-dl/","size":43088,"stargazers_count":22216,"watchers_count":22216,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":4270,"mirror_url":null,"open_issues_count":1576,"forks":4270,"open_issues":1576,"watchers":22216,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484"},"html":{"href":"https://github.com/rg3/youtube-dl/pull/11484"},"issue":{"href":"https://api.github.com/repos/rg3/youtube-dl/issues/11484"},"comments":{"href":"https://api.github.com/repos/rg3/youtube-dl/issues/11484/comments"},"review_comments":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484/comments"},"review_comment":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rg3/youtube-dl/pulls/11484/commits"},"statuses":{"href":"https://api.github.com/repos/rg3/youtube-dl/statuses/04f9c9b5fbc622933eacf4f3de5d607a6d61014b"}}}}
{"actor":{"display_login":"sa7mon"}}