fix: Change URL extraction in processor to use regex

- Replaced extractor.suitable() with direct regex pattern matching
- Added check for _VALID_URL attribute
- Improved error handling in URL extraction
- Maintains compatibility with video_downloader.py changes
This commit is contained in:
pacnpal
2024-11-15 02:03:23 +00:00
parent 0a46cee479
commit 1b64991041

View File

@@ -293,11 +293,11 @@ class VideoProcessor:
for word in words:
# Try each extractor
for ie in ydl._ies:
# Use suitable as a classmethod and check the result
result = ie.suitable(word)
if result and not isinstance(result, str):
if hasattr(ie, '_VALID_URL') and ie._VALID_URL:
# Use regex pattern matching instead of suitable()
if re.match(ie._VALID_URL, word):
urls.append(word)
break # Stop once we find a matching extractor
break # Stop once we find a matching pattern
except Exception as e:
logger.error(f"URL extraction error: {str(e)}")
return list(set(urls)) # Remove duplicates