mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 17:04:54 +01:00
moving temp data generator to ftrack component creator
This commit is contained in:
parent
b7a5eef4bf
commit
62a6269694
2 changed files with 53 additions and 33 deletions
|
|
@ -5,6 +5,9 @@ import re
|
|||
import json
|
||||
from contextlib import contextmanager
|
||||
|
||||
import app_utils
|
||||
reload(app_utils)
|
||||
|
||||
# Fill following constants or set them via environment variable
|
||||
FTRACK_MODULE_PATH = None
|
||||
FTRACK_API_KEY = None
|
||||
|
|
@ -96,11 +99,44 @@ def maintained_ftrack_session():
|
|||
class FtrackComponentCreator:
|
||||
default_location = "ftrack.server"
|
||||
ftrack_locations = {}
|
||||
thumbnails = []
|
||||
videos = []
|
||||
temp_dir = None
|
||||
|
||||
def __init__(self, session):
|
||||
self.session = session
|
||||
self._get_ftrack_location()
|
||||
|
||||
|
||||
def generate_temp_data(self, selection, temp_folder, change_preset_data):
|
||||
print(">>>>> self.temp_dir: " + self.temp_dir)
|
||||
print(">>>>> self.thumbnails: " + str(self.thumbnails))
|
||||
print(">>>>> self.videos: " + str(self.videos))
|
||||
|
||||
if temp_folder == self.temp_dir:
|
||||
return temp_folder
|
||||
|
||||
with app_utils.make_temp_dir() as tempdir_path:
|
||||
for seq in selection:
|
||||
app_utils.export_thumbnail(
|
||||
seq, tempdir_path, change_preset_data)
|
||||
app_utils.export_video(seq, tempdir_path, change_preset_data)
|
||||
temp_files = os.listdir(temp_folder)
|
||||
self.thumbnails = [f for f in temp_files if "jpg" in f]
|
||||
self.videos = [f for f in temp_files if "mov" in f]
|
||||
self.temp_dir = tempdir_path
|
||||
return tempdir_path
|
||||
|
||||
def get_thumb_path(shot_name):
|
||||
# get component files
|
||||
thumb_f = next((f for f in self.thumbnails if shot_name in f), None)
|
||||
return os.path.join(self.temp_dir, thumb_f)
|
||||
|
||||
def get_video_path(shot_name):
|
||||
# get component files
|
||||
video_f = next((f for f in self.videos if shot_name in f), None)
|
||||
return os.path.join(self.temp_dir, video_f)
|
||||
|
||||
def close(self):
|
||||
self.ftrack_locations = {}
|
||||
self.session = None
|
||||
|
|
|
|||
|
|
@ -74,9 +74,13 @@ class FlameToFtrackPanel(object):
|
|||
self.window.setStyleSheet('background-color: #313131')
|
||||
|
||||
with maintained_ftrack_session() as session:
|
||||
print(1)
|
||||
self._create_project_widget(session)
|
||||
print(2)
|
||||
self._create_tree_widget()
|
||||
print(3)
|
||||
self._set_sequence_params()
|
||||
print(4)
|
||||
self._generate_widgets()
|
||||
print(5)
|
||||
self._generate_layouts()
|
||||
|
|
@ -312,17 +316,13 @@ class FlameToFtrackPanel(object):
|
|||
session, self.project_entity)
|
||||
component_creator = FtrackComponentCreator(session)
|
||||
|
||||
self.generate_temp_data({
|
||||
"nbHandles": handles
|
||||
})
|
||||
|
||||
temp_files = os.listdir(self.temp_data_dir)
|
||||
thumbnails = [f for f in temp_files if "jpg" in f]
|
||||
videos = [f for f in temp_files if "mov" in f]
|
||||
|
||||
print(temp_files)
|
||||
print(thumbnails)
|
||||
print(videos)
|
||||
self.temp_data_dir = component_creator.generate_temp_data(
|
||||
self.selection,
|
||||
self.temp_data_dir,
|
||||
{
|
||||
"nbHandles": handles
|
||||
}
|
||||
)
|
||||
|
||||
# Get all selected items from treewidget
|
||||
for item in self.tree.selectedItems():
|
||||
|
|
@ -338,18 +338,13 @@ class FlameToFtrackPanel(object):
|
|||
sequence_name = item.text(0)
|
||||
shot_name = item.text(1)
|
||||
|
||||
# get component files
|
||||
thumb_f = next((f for f in thumbnails if shot_name in f), None)
|
||||
video_f = next((f for f in videos if shot_name in f), None)
|
||||
thumb_fp = os.path.join(self.temp_data_dir, thumb_f)
|
||||
video_fp = os.path.join(self.temp_data_dir, video_f)
|
||||
print(thumb_fp)
|
||||
print(video_fp)
|
||||
thumb_fp = component_creator.get_thumb_path(shot_name)
|
||||
video_fp = component_creator.get_video_path(shot_name)
|
||||
|
||||
print("processed comps: {}".format(self.processed_components))
|
||||
processed = False
|
||||
if thumb_f not in self.processed_components:
|
||||
self.processed_components.append(thumb_f)
|
||||
if thumb_fp not in self.processed_components:
|
||||
self.processed_components.append(thumb_fp)
|
||||
else:
|
||||
processed = True
|
||||
|
||||
|
|
@ -504,22 +499,11 @@ class FlameToFtrackPanel(object):
|
|||
self.tree.selectAll()
|
||||
|
||||
def clear_temp_data(self):
|
||||
self.processed_components = []
|
||||
|
||||
import shutil
|
||||
|
||||
self.processed_components = []
|
||||
|
||||
if self.temp_data_dir:
|
||||
shutil.rmtree(self.temp_data_dir)
|
||||
self.temp_data_dir = None
|
||||
print("All Temp data were destroied ...")
|
||||
|
||||
def generate_temp_data(self, change_preset_data):
|
||||
if self.temp_data_dir:
|
||||
return True
|
||||
|
||||
with app_utils.make_temp_dir() as tempdir_path:
|
||||
for seq in self.selection:
|
||||
app_utils.export_thumbnail(seq, tempdir_path, change_preset_data)
|
||||
app_utils.export_video(seq, tempdir_path, change_preset_data)
|
||||
self.temp_data_dir = tempdir_path
|
||||
break
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue