]> jfr.im git - yt-dlp.git/commitdiff
Validate --get-bypass-country
authorpukkandan <redacted>
Mon, 29 Nov 2021 19:18:51 +0000 (00:48 +0530)
committerpukkandan <redacted>
Mon, 29 Nov 2021 19:32:33 +0000 (01:02 +0530)
Closes #1834

yt_dlp/__init__.py

index 92d1fa16c86d6db2c22fc09600185c803be93bc0..9ddfc67c161ee89fe4004512733239d7c46eeccb 100644 (file)
@@ -29,6 +29,7 @@
     DownloadError,
     error_to_compat_str,
     expand_path,
+    GeoUtils,
     float_or_none,
     int_or_none,
     match_filter_func,
@@ -255,12 +256,17 @@ def parse_retries(retries, name=''):
     if opts.convertthumbnails is not None:
         if opts.convertthumbnails not in FFmpegThumbnailsConvertorPP.SUPPORTED_EXTS:
             parser.error('invalid thumbnail format specified')
-
     if opts.cookiesfrombrowser is not None:
         opts.cookiesfrombrowser = [
             part.strip() or None for part in opts.cookiesfrombrowser.split(':', 1)]
         if opts.cookiesfrombrowser[0].lower() not in SUPPORTED_BROWSERS:
             parser.error('unsupported browser specified for cookies')
+    geo_bypass_code = opts.geo_bypass_ip_block or opts.geo_bypass_country
+    if geo_bypass_code is not None:
+        try:
+            GeoUtils.random_ipv4(geo_bypass_code)
+        except Exception:
+            parser.error('unsupported geo-bypass country or ip-block')
 
     if opts.date is not None:
         date = DateRange.day(opts.date)