Refactor AERender to use BaseRenderEngine

This commit is contained in:
Brett Williams
2023-05-23 15:28:20 -05:00
parent 38d8959ee1
commit 15d1302f18

View File

@@ -17,11 +17,32 @@ def aerender_path():
return paths[0] return paths[0]
class AERender(BaseRenderEngine):
supported_extensions = ['.aep']
@classmethod
def version(cls):
version = None
try:
render_path = cls.renderer_path()
if render_path:
ver_out = subprocess.check_output([render_path, '-version'])
version = ver_out.decode('utf-8').split(" ")[-1].strip()
except Exception as e:
logging.error(f'Failed to get {cls.name()} version: {e}')
return version
@classmethod
def get_formats(cls):
# todo: create implementation
return []
class AERenderWorker(BaseRenderWorker): class AERenderWorker(BaseRenderWorker):
renderer = 'After Effects'
render_engine = 'aerender'
supported_extensions = ['.aep'] supported_extensions = ['.aep']
engine = AERender
def __init__(self, input_path, output_path, args=None): def __init__(self, input_path, output_path, args=None):
super(AERenderWorker, self).__init__(input_path=input_path, output_path=output_path, ignore_extensions=False, super(AERenderWorker, self).__init__(input_path=input_path, output_path=output_path, ignore_extensions=False,
@@ -35,18 +56,6 @@ class AERenderWorker(BaseRenderWorker):
self.progress_history = [] self.progress_history = []
self.attributes = {} self.attributes = {}
@classmethod
def version(cls):
version = None
try:
render_path = cls.renderer_path()
if render_path:
ver_out = subprocess.check_output([render_path, '-version'])
version = ver_out.decode('utf-8').split(" ")[-1].strip()
except Exception as e:
logging.error(f'Failed to get {cls.renderer} version: {e}')
return version
def generate_worker_subprocess(self): def generate_worker_subprocess(self):
if os.path.exists('nexrender-cli-macos'): if os.path.exists('nexrender-cli-macos'):