mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
slates are more like package, fixed few bugs and example is in specific file with more data of example
This commit is contained in:
parent
599a227359
commit
9ca3541c82
6 changed files with 300 additions and 51 deletions
2
pype/scripts/slates/__init__.py
Normal file
2
pype/scripts/slates/__init__.py
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
from . import slate_base
|
||||
from .slate_base import api
|
||||
10
pype/scripts/slates/__main__.py
Normal file
10
pype/scripts/slates/__main__.py
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
from slate_base import api
|
||||
|
||||
|
||||
def main(in_args=None):
|
||||
# TODO proper argument handling
|
||||
api.example()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
15
pype/scripts/slates/slate_base/api.py
Normal file
15
pype/scripts/slates/slate_base/api.py
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
from .font_factory import FontFactory
|
||||
from .base import BaseObj, load_default_style
|
||||
from .main_frame import MainFrame
|
||||
from .layer import Layer
|
||||
from .items import (
|
||||
BaseItem,
|
||||
ItemImage,
|
||||
ItemRectangle,
|
||||
ItemPlaceHolder,
|
||||
ItemText,
|
||||
ItemTable,
|
||||
TableField
|
||||
)
|
||||
from .lib import create_slates
|
||||
from .example import example
|
||||
254
pype/scripts/slates/slate_base/example.py
Normal file
254
pype/scripts/slates/slate_base/example.py
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
# import sys
|
||||
# sys.append(r"PATH/TO/PILLOW/PACKAGE")
|
||||
|
||||
from . import api
|
||||
|
||||
|
||||
def example():
|
||||
"""Example data to demontrate function.
|
||||
|
||||
It is required to fill "destination_path", "thumbnail_path"
|
||||
and "color_bar_path" in `example_fill_data` to be able to execute.
|
||||
"""
|
||||
|
||||
example_fill_data = {
|
||||
"destination_path": "PATH/TO/OUTPUT/FILE",
|
||||
"project": {
|
||||
"name": "Testing project"
|
||||
},
|
||||
"intent": "WIP",
|
||||
"version_name": "seq01_sh0100_compositing_v01",
|
||||
"date": "2019-08-09",
|
||||
"shot_type": "2d comp",
|
||||
"submission_note": (
|
||||
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
|
||||
" Aenean commodo ligula eget dolor. Aenean massa."
|
||||
" Cum sociis natoque penatibus et magnis dis parturient montes,"
|
||||
" nascetur ridiculus mus. Donec quam felis, ultricies nec,"
|
||||
" pellentesque eu, pretium quis, sem. Nulla consequat massa quis"
|
||||
" enim. Donec pede justo, fringilla vel,"
|
||||
" aliquet nec, vulputate eget, arcu."
|
||||
),
|
||||
"thumbnail_path": "PATH/TO/THUMBNAIL/FILE",
|
||||
"color_bar_path": "PATH/TO/COLOR/BAR/FILE",
|
||||
"vendor": "Our Studio",
|
||||
"shot_name": "sh0100",
|
||||
"frame_start": 1001,
|
||||
"frame_end": 1004,
|
||||
"duration": 3
|
||||
}
|
||||
|
||||
example_presets = {"example_HD": {
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"destination_path": "{destination_path}",
|
||||
"style": {
|
||||
"*": {
|
||||
"font-family": "arial",
|
||||
"font-color": "#ffffff",
|
||||
"font-bold": False,
|
||||
"font-italic": False,
|
||||
"bg-color": "#0077ff",
|
||||
"alignment-horizontal": "left",
|
||||
"alignment-vertical": "top"
|
||||
},
|
||||
"layer": {
|
||||
"padding": 0,
|
||||
"margin": 0
|
||||
},
|
||||
"rectangle": {
|
||||
"padding": 0,
|
||||
"margin": 0,
|
||||
"bg-color": "#E9324B",
|
||||
"fill": True
|
||||
},
|
||||
"main_frame": {
|
||||
"padding": 0,
|
||||
"margin": 0,
|
||||
"bg-color": "#252525"
|
||||
},
|
||||
"table": {
|
||||
"padding": 0,
|
||||
"margin": 0,
|
||||
"bg-color": "transparent"
|
||||
},
|
||||
"table-item": {
|
||||
"padding": 5,
|
||||
"padding-bottom": 10,
|
||||
"margin": 0,
|
||||
"bg-color": "#212121",
|
||||
"bg-alter-color": "#272727",
|
||||
"font-color": "#dcdcdc",
|
||||
"font-bold": False,
|
||||
"font-italic": False,
|
||||
"alignment-horizontal": "left",
|
||||
"alignment-vertical": "top",
|
||||
"word-wrap": False,
|
||||
"ellide": True,
|
||||
"max-lines": 1
|
||||
},
|
||||
"table-item-col[0]": {
|
||||
"font-size": 20,
|
||||
"font-color": "#898989",
|
||||
"font-bold": True,
|
||||
"ellide": False,
|
||||
"word-wrap": True,
|
||||
"max-lines": None
|
||||
},
|
||||
"table-item-col[1]": {
|
||||
"font-size": 40,
|
||||
"padding-left": 10
|
||||
},
|
||||
"#colorbar": {
|
||||
"bg-color": "#9932CC"
|
||||
}
|
||||
},
|
||||
"items": [{
|
||||
"type": "layer",
|
||||
"direction": 1,
|
||||
"name": "MainLayer",
|
||||
"style": {
|
||||
"#MainLayer": {
|
||||
"width": 1094,
|
||||
"height": 1000,
|
||||
"margin": 25,
|
||||
"padding": 0
|
||||
},
|
||||
"#LeftSide": {
|
||||
"margin-right": 25
|
||||
}
|
||||
},
|
||||
"items": [{
|
||||
"type": "layer",
|
||||
"name": "LeftSide",
|
||||
"items": [{
|
||||
"type": "layer",
|
||||
"direction": 1,
|
||||
"style": {
|
||||
"table-item": {
|
||||
"bg-color": "transparent",
|
||||
"padding-bottom": 20
|
||||
},
|
||||
"table-item-col[0]": {
|
||||
"font-size": 20,
|
||||
"font-color": "#898989",
|
||||
"alignment-horizontal": "right"
|
||||
},
|
||||
"table-item-col[1]": {
|
||||
"alignment-horizontal": "left",
|
||||
"font-bold": True,
|
||||
"font-size": 40
|
||||
}
|
||||
},
|
||||
"items": [{
|
||||
"type": "table",
|
||||
"values": [
|
||||
["Show:", "{project[name]}"]
|
||||
],
|
||||
"style": {
|
||||
"table-item-field[0:0]": {
|
||||
"width": 150
|
||||
},
|
||||
"table-item-field[0:1]": {
|
||||
"width": 580
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"type": "table",
|
||||
"values": [
|
||||
["Submitting For:", "{intent}"]
|
||||
],
|
||||
"style": {
|
||||
"table-item-field[0:0]": {
|
||||
"width": 160
|
||||
},
|
||||
"table-item-field[0:1]": {
|
||||
"width": 218,
|
||||
"alignment-horizontal": "right"
|
||||
}
|
||||
}
|
||||
}]
|
||||
}, {
|
||||
"type": "rectangle",
|
||||
"style": {
|
||||
"bg-color": "#bc1015",
|
||||
"width": 1108,
|
||||
"height": 5,
|
||||
"fill": True
|
||||
}
|
||||
}, {
|
||||
"type": "table",
|
||||
"use_alternate_color": True,
|
||||
"values": [
|
||||
["Version name:", "{version_name}"],
|
||||
["Date:", "{date}"],
|
||||
["Shot Types:", "{shot_type}"],
|
||||
["Submission Note:", "{submission_note}"]
|
||||
],
|
||||
"style": {
|
||||
"table-item": {
|
||||
"padding-bottom": 20
|
||||
},
|
||||
"table-item-field[0:1]": {
|
||||
"font-bold": True
|
||||
},
|
||||
"table-item-field[3:0]": {
|
||||
"word-wrap": True,
|
||||
"ellide": True,
|
||||
"max-lines": 4
|
||||
},
|
||||
"table-item-col[0]": {
|
||||
"alignment-horizontal": "right",
|
||||
"width": 150
|
||||
},
|
||||
"table-item-col[1]": {
|
||||
"alignment-horizontal": "left",
|
||||
"width": 958
|
||||
}
|
||||
}
|
||||
}]
|
||||
}, {
|
||||
"type": "layer",
|
||||
"name": "RightSide",
|
||||
"items": [{
|
||||
"type": "placeholder",
|
||||
"name": "thumbnail",
|
||||
"path": "{thumbnail_path}",
|
||||
"style": {
|
||||
"width": 730,
|
||||
"height": 412
|
||||
}
|
||||
}, {
|
||||
"type": "placeholder",
|
||||
"name": "colorbar",
|
||||
"path": "{color_bar_path}",
|
||||
"return_data": True,
|
||||
"style": {
|
||||
"width": 730,
|
||||
"height": 55
|
||||
}
|
||||
}, {
|
||||
"type": "table",
|
||||
"use_alternate_color": True,
|
||||
"values": [
|
||||
["Vendor:", "{vendor}"],
|
||||
["Shot Name:", "{shot_name}"],
|
||||
["Frames:", "{frame_start} - {frame_end} ({duration})"]
|
||||
],
|
||||
"style": {
|
||||
"table-item-col[0]": {
|
||||
"alignment-horizontal": "left",
|
||||
"width": 200
|
||||
},
|
||||
"table-item-col[1]": {
|
||||
"alignment-horizontal": "right",
|
||||
"width": 530,
|
||||
"font-size": 30
|
||||
}
|
||||
}
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}}
|
||||
|
||||
api.create_slates(example_fill_data, "example_HD", example_presets)
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
import os
|
||||
import re
|
||||
from PIL import Image
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
import logging
|
||||
|
||||
try:
|
||||
from queue import Queue
|
||||
except Exception:
|
||||
from Queue import Queue
|
||||
|
||||
from .slate_base.main_frame import MainFrame
|
||||
from .slate_base.layer import Layer
|
||||
from .slate_base.items import (
|
||||
from .main_frame import MainFrame
|
||||
from .layer import Layer
|
||||
from .items import (
|
||||
ItemTable, ItemImage, ItemRectangle, ItemPlaceHolder
|
||||
)
|
||||
|
||||
from pypeapp import config
|
||||
try:
|
||||
from pypeapp.config import get_presets
|
||||
except Exception:
|
||||
get_presets = dict
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -19,17 +21,20 @@ log = logging.getLogger(__name__)
|
|||
RequiredSlateKeys = ["width", "height", "destination_path"]
|
||||
|
||||
|
||||
def create_slates(fill_data, slate_name):
|
||||
presets = config.get_presets()
|
||||
slate_presets = (
|
||||
presets
|
||||
.get("tools", {})
|
||||
.get("slates")
|
||||
) or {}
|
||||
def create_slates(fill_data, slate_name, slate_presets=None):
|
||||
if slate_presets is None:
|
||||
presets = get_presets()
|
||||
slate_presets = (
|
||||
presets
|
||||
.get("tools", {})
|
||||
.get("slates")
|
||||
) or {}
|
||||
slate_data = slate_presets.get(slate_name)
|
||||
|
||||
if not slate_data:
|
||||
log.error("Slate data of <{}> does not exists.")
|
||||
log.error(
|
||||
"Name \"{}\" was not found in slate presets.".format(slate_name)
|
||||
)
|
||||
return False
|
||||
|
||||
missing_keys = []
|
||||
|
|
@ -111,41 +116,3 @@ def create_slates(fill_data, slate_name):
|
|||
|
||||
main.draw()
|
||||
log.debug("Slate creation finished")
|
||||
|
||||
|
||||
def example():
|
||||
# import sys
|
||||
# sys.append(r"PATH/TO/PILLOW/PACKAGE")
|
||||
# sys.append(r"PATH/TO/PYPE-SETUP")
|
||||
|
||||
fill_data = {
|
||||
"destination_path": "PATH/TO/OUTPUT/FILE",
|
||||
"project": {
|
||||
"name": "Testing project"
|
||||
},
|
||||
"intent": "WIP",
|
||||
"version_name": "seq01_sh0100_compositing_v01",
|
||||
"date": "2019-08-09",
|
||||
"shot_type": "2d comp",
|
||||
"submission_note": (
|
||||
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
|
||||
" Aenean commodo ligula eget dolor. Aenean massa."
|
||||
" Cum sociis natoque penatibus et magnis dis parturient montes,"
|
||||
" nascetur ridiculus mus. Donec quam felis, ultricies nec,"
|
||||
" pellentesque eu, pretium quis, sem. Nulla consequat massa quis"
|
||||
" enim. Donec pede justo, fringilla vel,"
|
||||
" aliquet nec, vulputate eget, arcu."
|
||||
),
|
||||
"thumbnail_path": "PATH/TO/THUMBNAIL/FILE",
|
||||
"color_bar_path": "PATH/TO/COLOR/BAR/FILE",
|
||||
"vendor": "Our Studio",
|
||||
"shot_name": "sh0100",
|
||||
"frame_start": 1001,
|
||||
"frame_end": 1004,
|
||||
"duration": 3
|
||||
}
|
||||
create_slates(fill_data, "example_HD")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
example()
|
||||
Loading…
Add table
Add a link
Reference in a new issue