mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 08:48:13 +00:00
get_project_info gets comp names from .aepx files now
This commit is contained in:
@@ -2,14 +2,14 @@ import glob
|
||||
import logging
|
||||
import subprocess
|
||||
|
||||
from src.engines.core.base_engine import BaseRenderEngine, SUBPROCESS_TIMEOUT
|
||||
from src.engines.core.base_engine import BaseRenderEngine
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
|
||||
class AERender(BaseRenderEngine):
|
||||
|
||||
file_extensions = ['aep']
|
||||
file_extensions = ['aepx']
|
||||
|
||||
def version(self):
|
||||
version = None
|
||||
@@ -29,9 +29,31 @@ class AERender(BaseRenderEngine):
|
||||
logger.warning('Multiple After Effects installations detected')
|
||||
elif not paths:
|
||||
logger.error('After Effects installation not found')
|
||||
else:
|
||||
return paths[0]
|
||||
|
||||
def get_project_info(self, project_path, timeout=10):
|
||||
scene_info = {}
|
||||
try:
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
tree = ET.parse(project_path)
|
||||
root = tree.getroot()
|
||||
namespace = {'ae': 'http://www.adobe.com/products/aftereffects'}
|
||||
|
||||
comp_names = []
|
||||
for item in root.findall(".//ae:Item", namespace):
|
||||
if item.find("ae:Layr", namespace) is not None:
|
||||
for string in item.findall("./ae:string", namespace):
|
||||
comp_names.append(string.text)
|
||||
scene_info['comp_names'] = comp_names
|
||||
except Exception as e:
|
||||
logger.error(f'Error getting file details for .aepx file: {e}')
|
||||
return scene_info
|
||||
|
||||
def run_javascript(self, script_path, project_path, timeout=None):
|
||||
# todo: implement
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def get_output_formats(cls):
|
||||
# todo: create implementation
|
||||
@@ -39,5 +61,5 @@ class AERender(BaseRenderEngine):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
x = AERender().supported_extensions()
|
||||
x = AERender().get_project_info('/Users/brett/ae_testing/project.aepx')
|
||||
print(x)
|
||||
|
||||
Reference in New Issue
Block a user