mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
add renumber frame button
This commit is contained in:
parent
ec923be44e
commit
d6b22badd2
2 changed files with 36 additions and 13 deletions
|
|
@ -177,6 +177,7 @@ def deliver_sequence(
|
|||
format_dict,
|
||||
report_items,
|
||||
log,
|
||||
renumber_frame=False,
|
||||
frame_offset=0
|
||||
):
|
||||
""" For Pype2(mainly - works in 3 too) where representation might not
|
||||
|
|
@ -299,19 +300,34 @@ def deliver_sequence(
|
|||
src = os.path.normpath(
|
||||
os.path.join(dir_path, src_file_name)
|
||||
)
|
||||
dsp_index = int(index) + frame_offset
|
||||
if dsp_index < 0:
|
||||
msg = "Frame has a smaller number than Frame Offset"
|
||||
report_items[msg].append(src_file_name)
|
||||
log.warning("{} <{}>".format(msg, context))
|
||||
return report_items, 0
|
||||
|
||||
dst_padding = dst_collection.format("{padding}") % dsp_index
|
||||
dst = "{}{}{}".format(dst_head, dst_padding, dst_tail)
|
||||
dst = os.path.normpath(
|
||||
os.path.join(delivery_folder, dst)
|
||||
)
|
||||
_copy_file(src, dst)
|
||||
if renumber_frame:
|
||||
first_index = src_collection.indexes[0]
|
||||
dsp_index = (int(index) - first_index) + 1
|
||||
dst_padding = dst_collection.format("{padding}") % dsp_index
|
||||
dst = "{}{}{}".format(dst_head, dst_padding, dst_tail)
|
||||
dst = os.path.normpath(
|
||||
os.path.join(delivery_folder, dst)
|
||||
)
|
||||
|
||||
_copy_file(src, dst)
|
||||
|
||||
else:
|
||||
dsp_index = int(index) + frame_offset
|
||||
if dsp_index < 0:
|
||||
msg = "Frame has a smaller number than Frame Offset"
|
||||
report_items[msg].append(src_file_name)
|
||||
log.warning("{} <{}>".format(msg, context))
|
||||
return report_items, 0
|
||||
|
||||
dst_padding = dst_collection.format("{padding}") % dsp_index
|
||||
dst = "{}{}{}".format(dst_head, dst_padding, dst_tail)
|
||||
dst = os.path.normpath(
|
||||
os.path.join(delivery_folder, dst)
|
||||
)
|
||||
|
||||
_copy_file(src, dst)
|
||||
|
||||
uploaded += 1
|
||||
|
||||
return report_items, uploaded
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import copy
|
||||
import math
|
||||
from collections import defaultdict
|
||||
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
|
@ -88,8 +89,10 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
template_label.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor))
|
||||
template_label.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
|
||||
|
||||
renumber_frame = QtWidgets.QCheckBox()
|
||||
|
||||
frame_offset_value = QtWidgets.QSpinBox()
|
||||
frame_offset_value.setMinimum(-99)
|
||||
frame_offset_value.setMinimum(-(1<<32)//2)
|
||||
|
||||
root_line_edit = QtWidgets.QLineEdit()
|
||||
|
||||
|
|
@ -115,6 +118,7 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
input_layout.addRow("Delivery template", dropdown)
|
||||
input_layout.addRow("Template value", template_label)
|
||||
input_layout.addRow("Frame Offset", frame_offset_value)
|
||||
input_layout.addRow("Renumber Frame", renumber_frame)
|
||||
input_layout.addRow("Root", root_line_edit)
|
||||
input_layout.addRow("Representations", repre_checkboxes_layout)
|
||||
|
||||
|
|
@ -143,6 +147,7 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
self.template_label = template_label
|
||||
self.dropdown = dropdown
|
||||
self.frame_offset_value = frame_offset_value
|
||||
self.renumber_frame = renumber_frame
|
||||
self.root_line_edit = root_line_edit
|
||||
self.progress_bar = progress_bar
|
||||
self.text_area = text_area
|
||||
|
|
@ -170,6 +175,7 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
datetime_data = get_datetime_data()
|
||||
template_name = self.dropdown.currentText()
|
||||
format_dict = get_format_dict(self.anatomy, self.root_line_edit.text())
|
||||
renumber_frame = self.renumber_frame.isChecked()
|
||||
frame_offset = self.frame_offset_value.value()
|
||||
for repre in self._representations:
|
||||
if repre["name"] not in selected_repres:
|
||||
|
|
@ -223,6 +229,7 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
if not frame:
|
||||
new_report_items, uploaded = deliver_single_file(*args)
|
||||
else:
|
||||
args.append(renumber_frame)
|
||||
args.append(frame_offset)
|
||||
new_report_items, uploaded = deliver_sequence(*args)
|
||||
report_items.update(new_report_items)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue