studio could have set host config paths but those were not resolving to custom config OCIO environment path. Instead it was always falling back to global ocio config paths settings
* modified simple creator plugin to be able handle version control
* added 'allow_version_control' to simple creators
* don't remove 'create_context' from pyblish context during publishing
* implemented validator for existing version override
* actually fill version on collected instances
* version can be again changed from standalone publisher
* added comment to collector
* make sure the version is set always to int
* removed unused import
* disable validator if is disabled
* fix filtered instances loop
* define variable 'resolved_path' in right scope
* fixed missing 'input' variable
* make checks for keys more explicit and safe proof
* fixed caching of remapped colorspaces
* trying to fix indentation issue
* use safe keys pop
* 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>
* 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
* 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>
* 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.
* 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
* 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
* 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
* 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>
* 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.
* 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
* 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>