| 
					
				 | 
			
			
				@@ -19,6 +19,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'md5': '7ce8388f544c88b7ac11c7ab1b593704', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'id': '1019721', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'display_id': 'Doki-Doki-Universe-Sweet-Simple', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'title': 'Doki-Doki Universe: Sweet, Simple and Genuine (GDC Next 10)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27,6 +28,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'url': 'http://www.gdcvault.com/play/1015683/Embracing-the-Dark-Art-of', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'id': '1015683', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'display_id': 'Embracing-the-Dark-Art-of', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'ext': 'flv', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'title': 'Embracing the Dark Art of Mathematical Modeling in AI' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +41,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'md5': 'a5eb77996ef82118afbbe8e48731b98e', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'info_dict': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'id': '1015301', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'display_id': 'Thexder-Meets-Windows-95-or', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'ext': 'flv', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'title': 'Thexder Meets Windows 95, or Writing Great Games in the Windows 95 Environment', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -94,7 +97,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return video_formats 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _login(self, webpage_url, video_id): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _login(self, webpage_url, display_id): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (username, password) = self._get_login_info() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if username is None or password is None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             self.report_warning('It looks like ' + webpage_url + ' requires a login. Try specifying a username and password and try again.') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -111,9 +114,9 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         request = compat_urllib_request.Request(login_url, compat_urllib_parse.urlencode(login_form)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         request.add_header('Content-Type', 'application/x-www-form-urlencoded') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        self._download_webpage(request, video_id, 'Logging in') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        start_page = self._download_webpage(webpage_url, video_id, 'Getting authenticated video page') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        self._download_webpage(logout_url, video_id, 'Logging out') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self._download_webpage(request, display_id, 'Logging in') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        start_page = self._download_webpage(webpage_url, display_id, 'Getting authenticated video page') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self._download_webpage(logout_url, display_id, 'Logging out') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return start_page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,8 +124,10 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mobj = re.match(self._VALID_URL, url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         video_id = mobj.group('id') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        display_id = mobj.group('name') or video_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         webpage_url = 'http://www.gdcvault.com/play/' + video_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        start_page = self._download_webpage(webpage_url, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        start_page = self._download_webpage(webpage_url, display_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         direct_url = self._search_regex( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             r's1\.addVariable\("file",\s*encodeURIComponent\("(/[^"]+)"\)\);', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -135,6 +140,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'id': video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'display_id': display_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'url': video_url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'ext': 'flv', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'title': title, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -145,7 +151,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             start_page, 'xml root', default=None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if xml_root is None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # Probably need to authenticate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            login_res = self._login(webpage_url, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            login_res = self._login(webpage_url, display_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if login_res is None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 self.report_warning('Could not login.') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -163,7 +169,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             xml_name = self._html_search_regex(r'<iframe src=".*?\?xmlURL=xml/(?P<xml_file>.+?\.xml).*?".*?</iframe>', start_page, 'xml filename') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         xml_decription_url = xml_root + 'xml/' + xml_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xml_description = self._download_xml(xml_decription_url, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xml_description = self._download_xml(xml_decription_url, display_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         video_title = xml_description.find('./metadata/title').text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         video_formats = self._parse_mp4(xml_description) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -172,6 +178,7 @@ class GDCVaultIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'id': video_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'display_id': display_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'title': video_title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'formats': video_formats, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |