|  | @@ -1,6 +1,7 @@
 | 
	
		
			
				|  |  |  # coding: utf-8
 | 
	
		
			
				|  |  |  from __future__ import unicode_literals
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import datetime
 | 
	
		
			
				|  |  |  import re
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  from .common import InfoExtractor
 | 
	
	
		
			
				|  | @@ -88,3 +89,18 @@ class GameOneIE(InfoExtractor):
 | 
	
		
			
				|  |  |              'age_limit': age_limit,
 | 
	
		
			
				|  |  |              'timestamp': timestamp,
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class GameOnePlaylistIE(InfoExtractor):
 | 
	
		
			
				|  |  | +    _VALID_URL = r'https?://(?:www\.)?gameone\.de(?:/tv)?/?$'
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def _real_extract(self, url):
 | 
	
		
			
				|  |  | +        this_year = datetime.date.today().year
 | 
	
		
			
				|  |  | +        webpage = self._download_webpage('http://www.gameone.de/tv/year/%d' % this_year, this_year)
 | 
	
		
			
				|  |  | +        max_id = max(map(int, re.findall(r'<a href="/tv/(\d+)"', webpage)))
 | 
	
		
			
				|  |  | +        entries = [self.url_result('http://www.gameone.de/tv/%d' % video_id, 'GameOne') for video_id in range(max_id, 0, -1)]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return {
 | 
	
		
			
				|  |  | +            '_type': 'playlist',
 | 
	
		
			
				|  |  | +            'title': 'GameOne',
 | 
	
		
			
				|  |  | +            'entries': entries,
 | 
	
		
			
				|  |  | +        }
 |