Commit graph

908 commits

Author SHA1 Message Date
Jakub Trllo
6843ae8532
General: Small code cleanups (#5034)
* make sure the message type is set and unset correctly

* Update dummy data in readme

* remove debug message from main thread callbacks

* removed unused import

* cleanup code in muster addon

* simplified 'get_publish_instance_label' function

* even better json file handling

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

---------

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2023-05-26 14:44:47 +02:00
Jakub Trllo
5f98c27836
apply settings on publish plugins can expect only project settings (#5037) 2023-05-26 12:00:09 +02:00
Jakub Trllo
124493affd
Publisher: UI works with instances without label (#5032)
* implemented helper function to get instance label

* use 'get_publish_instance_label' in some of existing plugins

* use 'get_publish_instance_label' in publisher controller
2023-05-25 11:51:44 +02:00
Thomas Fricard
55040e6f74
Drop-down menu to list all families in create placeholder (#4928)
* convert family text field to enum field

* get families from loaders and not creators

* refactor the list families part

* remove discover_loader_plugins call since there is already a variable with loaders plugins

---------

Co-authored-by: Thomas Fricard <tfricard@ws114.prs.vfx.int>
Co-authored-by: Clément Hector <clement.hector@gmail.com>
2023-05-25 10:32:36 +02:00
Petr Kalis
e5733450e4
Global: plugins cleanup plugin will leave beauty rendered files (#4790)
* OP-1066 - add expected files in Deadline into explicit cleanup

Implicit cleanup doesn't work correctly, safest option is for DL submissions to mark only files that should be rendered to be deleted after successful publish.

* OP-1066 - moved collecting of expected files into collector

Parsing of json didn't have context implemented, it is easier to mark expected files in collector.

* OP-4793 - delete full stagingDir

Reviews might be extracted into staging dir, should be removed too.

* Revert "OP-4793 - delete full stagingDir"

This reverts commit 8b002191e1ad3b31a0cbe439ca1158946c43b049.

* OP-1066 - added function to mark representation files to be cleaned up

Should be applicable for all new representations, as reviews, thumbnails, to clean up their intermediate  files.

* OP-1066 - moved files to better file

Cleaned up occurences where not necessary.

* OP-1066 - removed unused import

* OP-1066 - removed unnecessary setdefault

* OP-1066 - removed unnecessary logging

* OP-1066 - cleanup metadata json

Try to cleanup parent folder if empty.
2023-05-24 12:18:57 +02:00
Roy Nieterau
17a38c32a4
Enhancement: Improve logging levels and messages for artist facing publish reports (#5018)
* Tweak log levels and message to be more informative to artist in report page

* Tweak levels and clarity of logs

* Tweak levels and clarity of logs + tweak grammar

* Cosmetics

* Improve logging

* Simplify logging

* Convert to debug log if it's skipping thumbnail integration if there's no thumbnail whatsoever to integrate

* Tweak to debug since they only show representation ids hardly understandable to the artist

* Match logging message across hosts + include filepath for full clarity

* Tweak message to clarify it only starts checking and not that it requires filling + to debug log

* Tweak to debug log if there's basically no thumbnail to integrate at the end

* Tweak log levels

- Artist doesn't care what's prepared, especially since afterwards it's logged what gets written to the database anyway

* Log clearly it's processing a legacy instance

* Cosmetics
2023-05-24 10:54:31 +02:00
Jakub Trllo
248336bb0d
General: Lib code cleanup (#5003)
* implemented 'is_func_signature_supported' function

* 'WeakMethod' can be imported from 'python_2_comp' all the time

* simplified events logic for callback registration

* modified docstrings in publish lib

* removed unused imports

* fixed 'run_openpype_process' docstring
2023-05-24 10:51:35 +02:00
Jakub Ježek
2be43ab6cc
Merge branch 'develop' into bugfix/OP-6027_Bug-Fusion-saver-render-publishing-doesnt-work 2023-05-23 22:24:40 +02:00
Jakub Trllo
a73d19b612
Publisher: Show instances in report page (#4915)
* renamed 'validations_widget.py' to 'report_page.py'

* Implemented base logic and widgets for logs

* make one report page

* added missing imports

* added missing constants

* move and rename 'VerticallScrollArea' to 'VerticalScrollArea'

* Validation erro item have id

* use 'ReportPageWidget' in window

* change 'bg-button-hover' key to 'bg-buttons-hover' in style colors

* move publish actions widgets

* Refactored how validation error title is showed

* remove item id from validation error item but add id to group items

* remove margins from actions widget

* shrink publish frame on finished publishing

* fix dash line draw

* add missing styles

* fix dash line in thumbnail widget

* added crash widget and changed layout a little

* added infor overlay message

* export and copy report happens in main window

* fix docstrings

* added per plugin filtering for validation errors

* added implementation of 'FlowLayout'

* actions buttons are in flow layout

* fix actions order

* implemented expanding text edit widget

* expand button has some signals and properties

* description and details are separated widgets

* fix typo

* added constans to '__all__'

* parse icon def is a function

* change layout of widgets

* fix log filtering

* added state icon to instances

* fix pyside6 issues

* implemented 'ClassicExpandBtnLabel' with arrow images

* modified details separator

* added some spacing to layouts

* fix syle of description inputs and progress color

* removed unused import

* add 'is_validation_error' to errored result

* validation error has different icon in logs view

* added plugin name to ValueError if happens

* spacer before detail inputs moved out of detals widget

* fix actions visible in craash report

* ignore pyblish base classes

* filter base plugins in discovery

* use 'is' comparison instead of '__eq__'

* fix action error handling

* Fix handling of 'None' values in comparison

* formatting fix

* Report instance card have same margins as in create mode

* publish instances are grouped by family

* log messages are rstripped
2023-05-23 18:16:05 +02:00
Jakub Ježek
561b4cb5d5
Update openpype/pipeline/publish/abstract_collect_render.py
Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2023-05-23 16:31:28 +02:00
Jakub Jezek
81d41bb0ed
fixing frame range data passing from instance 2023-05-23 16:18:58 +02:00
Jakub Trllo
30fe6759c3
Publish: Enhance automated publish plugin settings (#4986)
* prepared helper functions for custom settings apply method

* publish plugin can have 'settings_category' attribute to define settings category

* Better 'settings_category' comment

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* fix trailing spaces

* added more information about pyblish plugins to dev docs

---------

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2023-05-22 13:28:09 +02:00
Jakub Trllo
0845ba29dd
General: Project Anatomy on creators (#4962)
* added project anatomy to create context

* added project anatomy to create plugin
2023-05-15 14:08:35 +02:00
Ondřej Samohel
2019fddd2c
Merge branch 'develop' into feature/remove_and_load_inv_action 2023-05-15 12:38:16 +02:00
kaa
d3428da393
fix get_linked_assets project name arg (#4940) 2023-05-12 15:19:23 +02:00
Simone Barbieri
cb13e94467 Merge branch 'develop' into enhancement/OP-3751_Renaming_plugin_to_Ayon 2023-05-05 15:17:57 +01:00
Ondřej Samohel
44a88c3f32
🐛 add missing pyblish.util import 2023-05-05 10:11:03 +02:00
Petr Kalis
e7aa413038
AfterEffects: add review flag to each instance (#4884)
* OP-5657 - add artist control for review in AfterEffects

Artist can disable review to be created for particular publish.

* OP-5657 - add artist control for review in AfterEffects

Removed configuration for Deadline, should be controlled by what is on instance.

* OP-5657 - handle legacy instances

Legacy instances wont't have mark_for_review in creator_attributes. Set to true as by default we always want review.

* OP-5657 - remove explicit review for all AE

Now handled directly on instance

* OP-5657 - fix - cannot remove now

Without this 'review' wont be added to tags on representation. Eventually this should be refactored.
Control on whole instance, eg. disabling review, should be enough.

* OP-5657 - fix - correct host name used

* OP-5657 - fix - correct handling of review

On local renders review should be added only from families, not from older approach through Settings.

Farm instance cannot have review in families or extract_review would get triggered even locally.

* OP-5657 - refactor - changed label

* OP-5657 - Hound

* OP-5657 - added explicitly skipping review

Instance might have set 'review' to False, which should explicitly skip review (might come from Publisher where artist can disable/enable review on an instance).

* OP-5657 - updated setting of review variable

instance.data.review == False >> explicitly set to do not create review. Keep None to let logic decide.

* OP-5657 - fix adding review flag

* OP-5657 - updated test

Removed review for second instance.

* OP-5657 - refactor to context plugin

* OP-5657 - tie thumbnail to review for local render

Produce thumbnail only when review should be created to synchronize state with farm rendering.
Move creation of thumnbail out of this plugin to general plugin to limit duplication of logic.
2023-05-04 12:16:58 +02:00
Sharkitty
cffe72f001 register inventory actions 2023-05-02 17:09:26 +02:00
Jakub Trllo
38347ece5a
Publisher: Small style changes (#4894)
* border hover has color without alpha

* changed border radius to 0.2em

* removed border from scroll area

* variant hint button has 0.5em width

* inputs in attribute definitions have smaller padding

* label is shown only to value inputs and added tooltips

* change spacing for attribute befinitions

* align labels to right

* implemented 'ComboBox' which ignores wheel events and has styled delegate

* PixmalLabel has minimum sizeHint

* cards are smaller

* renamed 'Options' to 'Context'

* implemented active state changes in card view

* set object name of main window to "PublishWindow"

* plugin don't have to pass 'title' to an error

* fix PySide6 support for custom keysequences

* check for exact match for all bindings

* added validation of exact match for save shortcut
2023-04-25 10:37:49 +02:00
Ondřej Samohel
0503bc76e0
Merge branch 'develop' into enhancement/OP-3751_Renaming_plugin_to_Ayon 2023-04-21 11:19:00 +02:00
Roy Nieterau
b05afaa837
Global: Optimize anatomy formatting by only formatting used templates instead (#4784)
* TemplatesDict can create different type of template

* anatomy templates can be formatted on their own

* return objected templates on get item

* '_rootless_path' is public classmethod 'rootless_path_from_result'

* 'AnatomyStringTemplate' expect anatomy templates

* remove key getters

* fix typo 'create_ojected_templates' -> 'create_objected_templates'

* Fix type of argument

* Fix long line

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Optimize formatting to use single template formatting instead of formatting full anatomy

* Use format strict + code cosmetics

* Get template from the formatted data

* Update openpype/plugins/publish/integrate_legacy.py

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

* Cosmetics

* Move template obj definition for path up + rename to `path_template_obj`

* Refactor more cases from `anatomy.format` to template obj `.format_strict`

* Refactor more cases from `anatomy.format` to template obj `.format_strict`

* Refactor more cases from `anatomy.format` to template obj `.format_strict`

---------

Co-authored-by: Jakub Trllo <jakub.trllo@gmail.com>
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-04-17 14:53:15 +02:00
Ondrej Samohel
43b86f47c3
♻️ replace OpenPype/Avalon for Ayon 2023-04-14 17:42:42 +02:00
Milan Kolar
d1b59c4aaa
Merge pull request #4761 from quadproduction/363-fix-studio-openpype-does-not-load-assets-linked-to-the-shot
thank you guys. this is great
2023-04-13 22:31:41 +02:00
Jakub Trllo
caf25ddf13
Publisher: Plugin active attribute is respected (#4798)
* added helper function to get publish plugin settings

* use new function to get plugin settings

* remove disabled settings when settings are applied

* added some comments

* added check for active state of publish plugin

* docstring changes

* limit the active state check only for 'OptionalPyblishPluginMixin'

* apply suggestions

* show plugin name if label is not available
2023-04-11 10:52:09 +02:00
Jakub Trllo
70087468c3
General: Anatomy templates formatting (#4773)
* TemplatesDict can create different type of template

* anatomy templates can be formatted on their own

* return objected templates on get item

* '_rootless_path' is public classmethod 'rootless_path_from_result'

* 'AnatomyStringTemplate' expect anatomy templates

* remove key getters

* fix typo 'create_ojected_templates' -> 'create_objected_templates'

* Fix type of argument

* Fix long line
2023-04-05 15:59:36 +02:00
clement.hector
9be576c214 fix linked asset import 2023-04-05 15:40:09 +02:00
Jakub Trllo
0cdeda5396
remove UnknownDef attributes on pop from attributes value (#4776) 2023-04-05 11:06:43 +02:00
Jakub Ježek
ca92f15042
Merge branch 'develop' into extract_burnin_fix_env_pythonhome 2023-03-31 22:33:37 +02:00
Roy Nieterau
3fae1f8521 Just some grammar tweaks 2023-03-30 13:59:22 +02:00
Roy Nieterau
391b7450dd Don't pass empty env since it didn't do that prior to this either 2023-03-29 17:58:22 +02:00
Petr Kalis
1531708236
Global: persistent staging directory for renders (#4583)
* OP-4258 - Settings for transient template

* OP-4258 - added collector for transient staging dir

Allows setting profiles to create persistent stagingDir.

* OP-4258 - implemented persistent stagingDir in cleanup

* OP-4258 - updated logging

* OP-4258 - updated settings

* OP-4258 - Hound

* OP-4258 - renamed class to better name

* OP-4258 - changed location of Settings

Should be used in create and collecting phase also.

* OP-4258 - remove version placeholder from transient template

It was discussed that it shouldn't be used for now.

* OP-4258 - extracted transient dir query logic

This should be used in collection and creation phase for DCCs which are storing staging dir path directly into nodes.

* OP-4258 - added use of scene_name placeholder in collector

DCC dependent, way how to implement versioning, might not be used.

* OP-4258 - fix scene_name

* OP-4258 - remove wrong defaults

* OP-4258 - added possibility of different template name

Studio might want to put renders to different place from caches.

* OP-4258 - renamed according to GH comments

* OP-4258 - use is active filter

* OP-4258 - use is active filter

* OP-4793 - added project_settings to signature

* OP-4793 - updated logging message

* OP-4793 - added documentation

* OP-4258 - fix function arguments

* OP-4258 - updates to documentation


* OP-4258 - added known issues to documentation

---------

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2023-03-24 16:30:46 +01:00
Jakub Trllo
d0f083ec19
Publisher: Explicit save (#4676)
* added save button class

* added save button to window

* workfiles is also part of context in CreateContext to be able check if context changed

* window cares about trigger of convertors

* use abstractproperty with property and abstractmethod decorators

* save changes happens using main window and can be blocked

* fix pyside compatibility

* use create context to get current context names

* Fix docstring label

* added shortcuts for save and reset

* change control string matching for macos

* added 'publish_has_started' property

* allow save only if publishing did not start yet

* rename 'get_selected_convertors' to 'get_selected_legacy_convertors' and added docstrings

* Added Saved changes

* disable instances toggle when publishing started

* Fix reset button tooltip

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>

* Use QKeySequence to string for tooltips

* added example output

* use predefined method to emit card message

---------

Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
2023-03-23 12:52:25 +01:00
Jakub Ježek
1dc35f2af3
Merge branch 'develop' into feature/OP-4778_Nuke-create-first-workfile-template-switch-to-preset 2023-03-07 10:43:28 +01:00
Jakub Trllo
de50783c04
Nuke: Add option to use new creating system in workfile template builder (#4545)
* added option to use new creating system in workfile template builder

* fix spaces

* use 'create' method on create context to trigger creation

* fix attribute access

* adding headless to creators and workfile builder abstraction

* adding noqa for hound

* hound

---------

Co-authored-by: Jakub Jezek <jakubjezek001@gmail.com>
Co-authored-by: Ondřej Samohel <33513211+antirotor@users.noreply.github.com>
2023-03-06 18:34:56 +01:00
Jakub Jezek
af39368838
hound 2023-03-06 17:07:56 +01:00
Jakub Jezek
b2eb14914b
global, nuke: adding support for first workfile creation 2023-03-06 16:55:05 +01:00
Jakub Jezek
0993fa447d
Merge branch 'bugfix/OP-5037_Global-workfile-template-builder-Creators-failing' into feature/OP-4778_Nuke-create-first-workfile-template-switch-to-preset 2023-03-06 12:08:25 +01:00
Jakub Jezek
08c7138070
Nuke: moving deepcopy to abstraction 2023-03-06 11:13:57 +01:00
Jakub Jezek
0c517a12a6
Nuke: fix the order of plugin to be after anatomy data collector
also convert anatomy data with deepcopy
2023-03-03 14:07:20 +01:00
Jakub Ježek
f3baace668
Update openpype/pipeline/publish/publish_plugins.py
Co-authored-by: Fabià Serra Arrizabalaga <fabia.serra92@gmail.com>
2023-03-03 13:17:46 +01:00
Jakub Jezek
2e83019efa
hound 2023-03-01 17:31:45 +01:00
Jakub Jezek
e1fa9f7c31
adding noqa for hound 2023-03-01 17:30:31 +01:00
Jakub Jezek
491eb3e750
create first workfile version function to global abstraction 2023-03-01 17:27:16 +01:00
Jakub Jezek
698e639fa6
Merge branch 'bugfix/OP-5037_Global-workfile-template-builder-Creators-failing' into feature/OP-4778_Nuke-create-first-workfile-template-switch-to-preset 2023-03-01 10:31:11 +01:00
Jakub Jezek
7c90b6616d
adding headless to creators and workfile builder abstraction 2023-02-28 17:32:49 +01:00
Jakub Trllo
9acf634d13 fix attribute access 2023-02-28 17:09:43 +01:00
Jakub Trllo
6b2c10da04 use 'create' method on create context to trigger creation 2023-02-28 16:51:18 +01:00
Jakub Trllo
b7e99dacb8 fix spaces 2023-02-28 15:45:12 +01:00
Jakub Jezek
ee3e346c8d
Global: refactory colormanaged exctractor into plugin mixin 2023-02-28 14:53:49 +01:00