瀏覽代碼

Avoid skipping ID when unlisted_hash is numeric

Pattern needed a non-greedy match; also replaced a redundant test with one for this, issue 29690
dirkf 4 年之前
父節點
當前提交
4194d253c0
共有 1 個文件被更改,包括 19 次插入5 次删除
  1. 19 5
      youtube_dl/extractor/vimeo.py

+ 19 - 5
youtube_dl/extractor/vimeo.py

@@ -271,7 +271,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
                         )?
                         )?
                         vimeo(?:pro)?\.com/
                         vimeo(?:pro)?\.com/
                         (?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)
                         (?!(?:channels|album|showcase)/[^/?#]+/?(?:$|[?#])|[^/]+/review/|ondemand/)
-                        (?:.*?/)?
+                        (?:.*?/)??
                         (?:
                         (?:
                             (?:
                             (?:
                                 play_redirect_hls|
                                 play_redirect_hls|
@@ -517,14 +517,28 @@ class VimeoIE(VimeoBaseInfoExtractor):
             'url': 'https://vimeo.com/7809605',
             'url': 'https://vimeo.com/7809605',
             'only_matching': True,
             'only_matching': True,
         },
         },
-        {
-            'url': 'https://vimeo.com/160743502/abd0e13fb4',
-            'only_matching': True,
-        },
         {
         {
             # requires passing unlisted_hash(a52724358e) to load_download_config request
             # requires passing unlisted_hash(a52724358e) to load_download_config request
             'url': 'https://vimeo.com/392479337/a52724358e',
             'url': 'https://vimeo.com/392479337/a52724358e',
             'only_matching': True,
             'only_matching': True,
+        },
+        {
+            # similar, but all numeric: ID must be 581039021, not 9603038895
+            # issue #29690
+            'url': 'https://vimeo.com/581039021/9603038895',
+            'info_dict': {
+                'id': '581039021',
+                # these have to be provided but we don't care
+                'ext': 'mp4',
+                'timestamp': 1627621014,
+                'title': 're:.+',
+                'uploader_id': 're:.+',
+                'uploader': 're:.+',
+                'upload_date': r're:\d+',
+            },
+            'params': {
+                'skip_download': True,
+            },
         }
         }
         # https://gettingthingsdone.com/workflowmap/
         # https://gettingthingsdone.com/workflowmap/
         # vimeo embed with check-password page protected by Referer header
         # vimeo embed with check-password page protected by Referer header