fix: URL extraction error in is_supported_url method

- Fixed 'str' object has no attribute 'suitable' error
- Now properly instantiating extractors before calling suitable()
- Improved error handling in URL validation
This commit is contained in:
pacnpal
2024-11-15 01:50:19 +00:00
parent 7e4b33dd55
commit 63664e3c94

View File

@@ -305,16 +305,17 @@ class VideoDownloader:
# Get extractors # Get extractors
extractors = ydl._ies extractors = ydl._ies
# Try each extractor # Try each extractor
for extractor in extractors: for ie in extractors:
if hasattr(extractor, '_VALID_URL') and extractor._VALID_URL:
# Skip if site is not enabled # Skip if site is not enabled
if self.enabled_sites and not any( if self.enabled_sites and not any(
site.lower() in extractor.IE_NAME.lower() site.lower() in ie.IE_NAME.lower()
for site in self.enabled_sites for site in self.enabled_sites
): ):
continue continue
# Try to match URL using the class method # Create an instance of the extractor
if extractor.suitable(url) and not isinstance(extractor.suitable(url), str): extractor = ie(ydl)
# Try to match URL
if extractor.suitable(url):
return True return True
return False return False
except Exception as e: except Exception as e: