mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
34 lines
1,007 B
Python
34 lines
1,007 B
Python
import pyblish.api
|
|
import os
|
|
import subprocess
|
|
import openpype.lib
|
|
try:
|
|
import os.errno as errno
|
|
except ImportError:
|
|
import errno
|
|
|
|
|
|
class ValidateFFmpegInstalled(pyblish.api.ContextPlugin):
|
|
"""Validate availability of ffmpeg tool in PATH"""
|
|
|
|
order = pyblish.api.ValidatorOrder
|
|
label = 'Validate ffmpeg installation'
|
|
optional = True
|
|
|
|
def is_tool(self, name):
|
|
try:
|
|
devnull = open(os.devnull, "w")
|
|
subprocess.Popen(
|
|
[name], stdout=devnull, stderr=devnull
|
|
).communicate()
|
|
except OSError as e:
|
|
if e.errno == errno.ENOENT:
|
|
return False
|
|
return True
|
|
|
|
def process(self, context):
|
|
ffmpeg_path = openpype.lib.get_ffmpeg_tool_path("ffmpeg")
|
|
self.log.info("ffmpeg path: `{}`".format(ffmpeg_path))
|
|
if self.is_tool("{}".format(ffmpeg_path)) is False:
|
|
self.log.error("ffmpeg not found in PATH")
|
|
raise RuntimeError('ffmpeg not installed.')
|