diff options
| author | Sergey M․ <dstftw@gmail.com> | 2015-07-14 22:36:30 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-07-14 22:36:30 +0600 | 
| commit | f8da79f828637757889f3f35d7adfa9aabbfc721 (patch) | |
| tree | c95160001699c868f5157300e6f4839bab11bff2 /youtube_dl/extractor/common.py | |
| parent | 9750e7d70eed92a6b05637465698cdd30e87a44c (diff) | |
[extractor/common] Improve _form_hidden_inputs and rename to _hidden_inputs
Diffstat (limited to 'youtube_dl/extractor/common.py')
| -rw-r--r-- | youtube_dl/extractor/common.py | 15 | 
1 files changed, 11 insertions, 4 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 82f5de2d8..315fe4a72 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -706,10 +706,17 @@ class InfoExtractor(object):                                        'twitter card player')      @staticmethod -    def _form_hidden_inputs(html): -        return dict(re.findall( -            r'<input\s+type="hidden"\s+name="([^"]+)"\s+(?:id="[^"]+"\s+)?value="([^"]*)"', -            html)) +    def _hidden_inputs(html): +        return dict([ +            (input.group('name'), input.group('value')) for input in re.finditer( +                r'''(?x) +                    <input\s+ +                        type=(?P<q_hidden>["\'])hidden(?P=q_hidden)\s+ +                        name=(?P<q_name>["\'])(?P<name>.+?)(?P=q_name)\s+ +                        (?:id=(?P<q_id>["\']).+?(?P=q_id)\s+)? +                        value=(?P<q_value>["\'])(?P<value>.*?)(?P=q_value) +                ''', html) +        ])      def _sort_formats(self, formats, field_preference=None):          if not formats:  | 
