diff options
Diffstat (limited to 'youtube_dl/extractor/periscope.py')
| -rw-r--r-- | youtube_dl/extractor/periscope.py | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/periscope.py b/youtube_dl/extractor/periscope.py index 8ad936758..887c8020d 100644 --- a/youtube_dl/extractor/periscope.py +++ b/youtube_dl/extractor/periscope.py @@ -12,7 +12,8 @@ from ..utils import parse_iso8601  class PeriscopeIE(InfoExtractor):      IE_DESC = 'Periscope'      _VALID_URL = r'https?://(?:www\.)?periscope\.tv/w/(?P<id>[^/?#]+)' -    _TEST = { +    # Alive example URLs can be found here http://onperiscope.com/ +    _TESTS = [{          'url': 'https://www.periscope.tv/w/aJUQnjY3MjA3ODF8NTYxMDIyMDl2zCg2pECBgwTqRpQuQD352EMPTKQjT4uqlM3cgWFA-g==',          'md5': '65b57957972e503fcbbaeed8f4fa04ca',          'info_dict': { @@ -25,11 +26,15 @@ class PeriscopeIE(InfoExtractor):              'uploader_id': '1465763',          },          'skip': 'Expires in 24 hours', -    } +    }, { +        'url': 'https://www.periscope.tv/w/1ZkKzPbMVggJv', +        'only_matching': True, +    }] -    def _call_api(self, method, token): +    def _call_api(self, method, value): +        attribute = 'token' if len(value) > 13 else 'broadcast_id'          return self._download_json( -            'https://api.periscope.tv/api/v2/%s?token=%s' % (method, token), token) +            'https://api.periscope.tv/api/v2/%s?%s=%s' % (method, attribute, value), value)      def _real_extract(self, url):          token = self._match_id(url) | 
