Pārlūkot izejas kodu

[InfoExtractor] Support groups in _`search_regex()`, etc

dirkf 2 gadi atpakaļ
vecāks
revīzija
1e8ccdd2eb
1 mainītis faili ar 5 papildinājumiem un 4 dzēšanām
  1. 5 4
      youtube_dl/extractor/common.py

+ 5 - 4
youtube_dl/extractor/common.py

@@ -1005,6 +1005,8 @@ class InfoExtractor(object):
             if group is None:
             if group is None:
                 # return the first matching group
                 # return the first matching group
                 return next(g for g in mobj.groups() if g is not None)
                 return next(g for g in mobj.groups() if g is not None)
+            elif isinstance(group, (list, tuple)):
+                return tuple(mobj.group(g) for g in group)
             else:
             else:
                 return mobj.group(group)
                 return mobj.group(group)
         elif default is not NO_DEFAULT:
         elif default is not NO_DEFAULT:
@@ -1020,10 +1022,9 @@ class InfoExtractor(object):
         Like _search_regex, but strips HTML tags and unescapes entities.
         Like _search_regex, but strips HTML tags and unescapes entities.
         """
         """
         res = self._search_regex(pattern, string, name, default, fatal, flags, group)
         res = self._search_regex(pattern, string, name, default, fatal, flags, group)
-        if res:
-            return clean_html(res).strip()
-        else:
-            return res
+        if isinstance(res, tuple):
+            return tuple(map(clean_html, res))
+        return clean_html(res)
 
 
     def _get_netrc_login_info(self, netrc_machine=None):
     def _get_netrc_login_info(self, netrc_machine=None):
         username = None
         username = None