Allow Python evaluation for computing job settings in the addon
This commit is contained in:
parent
4196460c29
commit
a6ac331612
@ -47,7 +47,15 @@ class FLAMENCO_PT_job_submission(bpy.types.Panel):
|
||||
for setting in job_type.settings:
|
||||
if not setting.get("visible", True):
|
||||
continue
|
||||
layout.prop(propgroup, setting.key)
|
||||
row = layout.row(align=True)
|
||||
row.prop(propgroup, setting.key)
|
||||
setting_eval = setting.get("eval", "")
|
||||
if setting_eval:
|
||||
props = row.operator(
|
||||
"flamenco.eval_setting", text="", icon="SCRIPTPLUGINS"
|
||||
)
|
||||
props.setting_key = setting.key
|
||||
props.setting_eval = setting_eval
|
||||
|
||||
def draw_flamenco_status(
|
||||
self, context: bpy.types.Context, layout: bpy.types.UILayout
|
||||
|
@ -47,6 +47,16 @@ class JobTypePropertyGroup:
|
||||
|
||||
return js
|
||||
|
||||
def eval_setting(
|
||||
self, context: bpy.types.Context, setting_key: str, setting_eval: str
|
||||
) -> None:
|
||||
eval_globals = {
|
||||
"bpy": bpy,
|
||||
"C": context,
|
||||
}
|
||||
value = eval(setting_eval, eval_globals, {})
|
||||
setattr(self, setting_key, value)
|
||||
|
||||
|
||||
# Mapping from AvailableJobType.setting.type to a callable that converts a value
|
||||
# to the appropriate type. This is necessary due to the ambiguity between floats
|
||||
|
@ -10,7 +10,7 @@
|
||||
"""
|
||||
|
||||
|
||||
__version__ = "b969e4f7-dirty"
|
||||
__version__ = "4196460c-dirty"
|
||||
|
||||
# import ApiClient
|
||||
from flamenco.manager.api_client import ApiClient
|
||||
|
@ -76,7 +76,7 @@ class ApiClient(object):
|
||||
self.default_headers[header_name] = header_value
|
||||
self.cookie = cookie
|
||||
# Set default User-Agent.
|
||||
self.user_agent = 'Flamenco/b969e4f7-dirty (Blender add-on)'
|
||||
self.user_agent = 'Flamenco/4196460c-dirty (Blender add-on)'
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration(
|
||||
"OS: {env}\n"\
|
||||
"Python Version: {pyversion}\n"\
|
||||
"Version of the API: 1.0.0\n"\
|
||||
"SDK Package Version: b969e4f7-dirty".\
|
||||
"SDK Package Version: 4196460c-dirty".\
|
||||
format(env=sys.platform, pyversion=sys.version)
|
||||
|
||||
def get_host_settings(self):
|
||||
|
@ -11,6 +11,7 @@ Name | Type | Description | Notes
|
||||
**choices** | **[str]** | When given, limit the valid values to these choices. Only usable with string type. | [optional]
|
||||
**description** | **bool, date, datetime, dict, float, int, list, str, none_type** | The description/tooltip shown in the user interface. | [optional]
|
||||
**default** | **bool, date, datetime, dict, float, int, list, str, none_type** | The default value shown to the user when determining this setting. | [optional]
|
||||
**eval** | **str** | Python expression to be evaluated in order to determine the default value for this setting. | [optional]
|
||||
**visible** | **bool** | Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. | [optional] if omitted the server will use the default value of True
|
||||
**required** | **bool** | Whether to immediately reject a job definition, of this type, without this particular setting. | [optional] if omitted the server will use the default value of False
|
||||
**editable** | **bool** | Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. | [optional] if omitted the server will use the default value of False
|
||||
|
@ -95,6 +95,7 @@ class AvailableJobSetting(ModelNormal):
|
||||
'choices': ([str],), # noqa: E501
|
||||
'description': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
||||
'default': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
||||
'eval': (str,), # noqa: E501
|
||||
'visible': (bool,), # noqa: E501
|
||||
'required': (bool,), # noqa: E501
|
||||
'editable': (bool,), # noqa: E501
|
||||
@ -112,6 +113,7 @@ class AvailableJobSetting(ModelNormal):
|
||||
'choices': 'choices', # noqa: E501
|
||||
'description': 'description', # noqa: E501
|
||||
'default': 'default', # noqa: E501
|
||||
'eval': 'eval', # noqa: E501
|
||||
'visible': 'visible', # noqa: E501
|
||||
'required': 'required', # noqa: E501
|
||||
'editable': 'editable', # noqa: E501
|
||||
@ -166,6 +168,7 @@ class AvailableJobSetting(ModelNormal):
|
||||
choices ([str]): When given, limit the valid values to these choices. Only usable with string type.. [optional] # noqa: E501
|
||||
description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501
|
||||
default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501
|
||||
eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501
|
||||
visible (bool): Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. . [optional] if omitted the server will use the default value of True # noqa: E501
|
||||
required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501
|
||||
editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501
|
||||
@ -260,6 +263,7 @@ class AvailableJobSetting(ModelNormal):
|
||||
choices ([str]): When given, limit the valid values to these choices. Only usable with string type.. [optional] # noqa: E501
|
||||
description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501
|
||||
default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501
|
||||
eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501
|
||||
visible (bool): Whether to show this setting in the UI of a job submitter (like a Blender add-on). Set to `false` when it is an internal setting that shouldn't be shown to end users. . [optional] if omitted the server will use the default value of True # noqa: E501
|
||||
required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501
|
||||
editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501
|
||||
|
@ -4,7 +4,7 @@ Render Farm manager API
|
||||
The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.0.0
|
||||
- Package version: b969e4f7-dirty
|
||||
- Package version: 4196460c-dirty
|
||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||
For more information, please visit [https://flamenco.io/](https://flamenco.io/)
|
||||
|
||||
|
@ -105,6 +105,21 @@ class FLAMENCO_OT_ping_manager(FlamencoOpMixin, bpy.types.Operator):
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class FLAMENCO_OT_eval_setting(FlamencoOpMixin, bpy.types.Operator):
|
||||
bl_idname = "flamenco.eval_setting"
|
||||
bl_label = "Flamenco: Evalutate Setting Value"
|
||||
bl_description = "Automatically determine a suitable value"
|
||||
bl_options = {"REGISTER", "INTERNAL"} # No UNDO.
|
||||
|
||||
setting_key: bpy.props.StringProperty(name="Setting Key") # type: ignore
|
||||
setting_eval: bpy.props.StringProperty(name="Python Expression") # type: ignore
|
||||
|
||||
def execute(self, context: bpy.types.Context) -> set[str]:
|
||||
propgroup = context.scene.flamenco_job_settings
|
||||
propgroup.eval_setting(context, self.setting_key, self.setting_eval)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
||||
bl_idname = "flamenco.submit_job"
|
||||
bl_label = "Flamenco: Submit Job"
|
||||
@ -269,6 +284,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
||||
classes = (
|
||||
FLAMENCO_OT_fetch_job_types,
|
||||
FLAMENCO_OT_ping_manager,
|
||||
FLAMENCO_OT_eval_setting,
|
||||
FLAMENCO_OT_submit_job,
|
||||
)
|
||||
register, unregister = bpy.utils.register_classes_factory(classes)
|
||||
|
@ -6,9 +6,9 @@ const JOB_TYPE = {
|
||||
{ key: "blender_cmd", type: "string", default: "{blender}", visible: false },
|
||||
{ key: "blendfile", type: "string", required: true, description: "Path of the Blend file to render", visible: false },
|
||||
{ key: "chunk_size", type: "int32", default: 1, description: "Number of frames to render in one Blender render task" },
|
||||
{ key: "frames", type: "string", required: true },
|
||||
{ key: "frames", type: "string", required: true, eval: "f'{C.scene.frame_start}-{C.scene.frame_end}'"},
|
||||
{ key: "render_output", type: "string", subtype: "hashed_file_path", required: true },
|
||||
{ key: "fps", type: "int32" },
|
||||
{ key: "fps", type: "float", eval: "C.scene.render.fps / C.scene.render.fps_base" },
|
||||
{ key: "extract_audio", type: "bool", default: true },
|
||||
{
|
||||
key: "images_or_video",
|
||||
@ -16,8 +16,9 @@ const JOB_TYPE = {
|
||||
required: true,
|
||||
choices: ["images", "video"],
|
||||
visible: false,
|
||||
eval: "'video' if C.scene.render.image_settings.file_format in {'FFMPEG', 'AVI_RAW', 'AVI_JPEG'} else 'image'"
|
||||
},
|
||||
{ key: "format", type: "string", required: true },
|
||||
{ key: "format", type: "string", required: true, eval: "C.scene.render.image_settings.file_format" },
|
||||
{ key: "output_file_extension", type: "string", required: true },
|
||||
]
|
||||
};
|
||||
|
@ -407,6 +407,9 @@ components:
|
||||
description: The description/tooltip shown in the user interface.
|
||||
"default":
|
||||
description: The default value shown to the user when determining this setting.
|
||||
"eval":
|
||||
type: string
|
||||
description: Python expression to be evaluated in order to determine the default value for this setting.
|
||||
"visible":
|
||||
type: boolean
|
||||
description: >
|
||||
|
@ -18,64 +18,65 @@ import (
|
||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
@ -129,6 +129,9 @@ type AvailableJobSetting struct {
|
||||
// Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it.
|
||||
Editable *bool `json:"editable,omitempty"`
|
||||
|
||||
// Python expression to be evaluated in order to determine the default value for this setting.
|
||||
Eval *string `json:"eval,omitempty"`
|
||||
|
||||
// Identifier for the setting, must be unique within the job type.
|
||||
Key string `json:"key"`
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user