|
|
@ -3734,13 +3734,22 @@ class PhantomJSwrapper(object): |
|
|
|
|
|
|
|
_TMP_FILE_NAMES = ['script', 'html', 'cookies'] |
|
|
|
|
|
|
|
def __init__(self, extractor, timeout=10000): |
|
|
|
def __init__(self, extractor, required_version=None, timeout=10000): |
|
|
|
self.exe = check_executable('phantomjs', ['-v']) |
|
|
|
if not self.exe: |
|
|
|
raise ExtractorError('PhantomJS executable not found in PATH, ' |
|
|
|
'download it from http://phantomjs.org', |
|
|
|
expected=True) |
|
|
|
|
|
|
|
self.extractor = extractor |
|
|
|
|
|
|
|
if required_version: |
|
|
|
version = get_exe_version(self.exe, version_re=r'([0-9.]+)') |
|
|
|
if is_outdated_version(version, required_version): |
|
|
|
self.extractor._downloader.report_warning( |
|
|
|
'Your copy of PhantomJS is outdated, update it to version ' |
|
|
|
'%s or newer if you encounter any errors.' % required_version) |
|
|
|
|
|
|
|
self.options = { |
|
|
|
'timeout': timeout, |
|
|
|
} |
|
|
|