Commit graph

513 commits

Author SHA1 Message Date
Roy Nieterau
d36b2f1514 Merge remote-tracking branch 'upstream/develop' into enhancement/tweak_logging
# Conflicts:
#	openpype/plugins/publish/extract_hierarchy_to_ayon.py
2023-09-05 12:06:43 +02:00
Jakub Trllo
aa9846dcbd removed logic where the script is used 2023-09-04 13:25:35 +02:00
Petr Kalis
0f39ccf016
Fix - files on representation cannot be single item list (#5545)
Further logic expects that single item files will be only 'string' not 'list' (eg. repre["files"] = "abc.exr" not repre["files"] = ["abc.exr"].

This would cause an issue in ExtractReview later.
2023-09-04 11:05:27 +02:00
Petr Kalis
1b8d8e68f2
Harmony: refresh code for current Deadline (#5493)
* Explicitly set Python3 for Harmony OP plugin

* Fix method call

Without it it would always return True

* Explicitly set render instance to farm

* Added Harmony 22 executable

This plugin might not be necessary anymore for current Harmonies (at least for 22 works original Harmony plugin in DL)

* Removed logging

* fix - remove explicit disabling of review

instance.data["review"] could be False only if review shouldn't be explicitly done. This is not possible in old publisher.
TODO must be implemented in NP.
2023-09-01 18:23:45 +02:00
Libor Batek
9cf21b77ff
Merge pull request #5286 from ynput/bugfix/OP-6356_3dsamx-empty-render-instance
Max: Optional Renderable Camera Validator for Render Instance
2023-09-01 09:49:47 +02:00
Jakub Ježek
1cc94537ba
Merge branch 'develop' into enhancement/deadline-remove-toBeRenderedOn 2023-08-31 22:45:16 +02:00
Kayla Man
4d94bec464 oscar's comment on cameras implemenetation 2023-08-31 22:55:59 +08:00
Kayla Man
055e825000 bigroy comment on the camera setup on validation 2023-08-31 15:41:33 +08:00
Roy Nieterau
5d45ed3a7b Merge remote-tracking branch 'upstream/develop' into enhancement/tweak_logging
# Conflicts:
#	openpype/modules/deadline/plugins/publish/validate_deadline_connection.py
#	openpype/modules/deadline/plugins/publish/validate_deadline_pools.py
2023-08-30 10:28:18 +02:00
Roy Nieterau
eec1d82db2 Deadline: Tweak logging for artist-facing reports in publisher 2023-08-30 09:54:37 +02:00
Roy Nieterau
6014cc6549
Enhancement: Deadline plugins optimize, cleanup and fix optional support for validate deadline pools (#5531)
* Fix optional support

* Query deadline only once per url

* Report both pools if both are invalid instead of only primary pool

* Fix formatting in UI

* Re-use existing implementation of `requests_get`

* Cosmetics

* Cache deadline url responses to avoid the need of request per instance

* Only format error message when needed + convert to `KnownPublishError`

* Allow deadline url per instance, similar to `ValidateDeadlineConnections`

* Tweak grammar/readability

* Fix title

* Remove instance data from right side in Publish report since it's available in logs
2023-08-29 16:16:31 +02:00
Kayla Man
a59de7db31 clean up 2023-08-28 18:50:20 +08:00
Kayla Man
3f1fb736a6 make sure arnold and other renderers not fallbacking to workfile 2023-08-28 18:45:43 +08:00
Jakub Jezek
93f897c780
deadline: adding collect farm target and removing redundant key 2023-08-24 13:59:34 +02:00
Milan Kolar
d787b7470a
Merge pull request #5455 from ynput/bugfix/add_kitsu_credentials_to_publish_job 2023-08-24 09:35:42 +02:00
Jakub Ježek
a8db933143
Merge branch 'develop' into enhancement/OP-6317_Nuke-publish-existing-frames-on-farm 2023-08-23 16:38:52 +02:00
Fabià Serra Arrizabalaga
bd9a794274
Fix typo on deadline OP plugin name (#5453) 2023-08-17 10:41:34 +02:00
Mustafa-Zarkash
a081f5aed5 add_kitsu_credentials 2023-08-16 15:26:16 +03:00
Toke Jepsen
7973354fef
Option to start versioning from 0 (#5262)
* Initial version, replaced all hard 1 with 0

* ftrack v0 works only with version cast as str

* workfile tools can set 0

* fixed hound stuff

* fix for auto versioning not working anymore

* fix for not incrementing version

* hound fix

* Settings determined versioning start

* Code cosmetics

* Better failsafe for collecting settings.

* Initial profiles commit

* Hound

* Working profiles

* Update openpype/hosts/webpublisher/plugins/publish/collect_published_files.py

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

* Update openpype/hosts/webpublisher/plugins/publish/collect_published_files.py

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

* Update openpype/plugins/publish/collect_anatomy_instance_data.py

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

* Update openpype/settings/entities/schemas/projects_schema/schema_project_global.json

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

* Illicitit feedback

* Update openpype/pipeline/context_tools.py

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

* Fix collect_published_files

* Working version

* Hound

* Update openpype/pipeline/version_start.py

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

* Update openpype/pipeline/version_start.py

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

* Update openpype/tools/push_to_project/control_integrate.py

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

* Update openpype/hosts/photoshop/plugins/publish/collect_published_version.py

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

* Update openpype/hosts/photoshop/plugins/publish/collect_published_version.py

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

* Update openpype/hosts/webpublisher/plugins/publish/collect_published_files.py

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

* Update openpype/hosts/webpublisher/plugins/publish/collect_published_files.py

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

* Update openpype/hosts/webpublisher/plugins/publish/collect_published_files.py

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

* Update openpype/pipeline/workfile/path_resolving.py

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

* Update openpype/settings/__init__.py

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

* Hound

* Illicitit feedback

* Replace host.name

* Update openpype/plugins/publish/collect_anatomy_instance_data.py

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

* reuse 'task_name' and 'task_type'

* skip hero integration when source version in 0

---------

Co-authored-by: maxpareschi <max.pareschi@gmail.com>
Co-authored-by: Jakub Ježek <jakubjezek001@gmail.com>
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
Co-authored-by: Jakub Trllo <jakub.trllo@gmail.com>
2023-08-10 13:31:49 +02:00
Jakub Ježek
d1cf08532a
Merge branch 'develop' into enhancement/OP-6317_Nuke-publish-existing-frames-on-farm 2023-08-09 15:52:48 +02:00
Jakub Jezek
84480649c8
nuke: implementing frame_farm target to deadline submitter 2023-08-09 15:45:13 +02:00
Jakub Jezek
7b3d0b4f6d
deadline validations are activated for nuke render 2023-08-09 15:38:21 +02:00
Fabià Serra Arrizabalaga
1e33e83de4
Fix missed function interface change (#5430)
Co-authored-by: Fabia Serra Arrizabalaga <farrizabalaga@alkemy-x.com>
2023-08-09 10:29:52 +02:00
Jakub Jezek
ff77dc0678
renaming target and its label to make it better sorted in ui 2023-08-04 11:49:53 +02:00
Jakub Jezek
697c126cce
refactor expected files validator 2023-08-04 11:29:28 +02:00
Jakub Jezek
e47b26ed6c
Merge branch 'feature/remote_existing_frames_nuke' into enhancement/OP-6317_Nuke-publish-existing-frames-on-farm 2023-08-04 11:28:58 +02:00
Petr Kalis
997d8a7a30
Update openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-08-02 14:54:25 +02:00
Petr Kalis
90b5dfd30d OP-4845 - merge 2023-08-02 14:53:17 +02:00
Jakub Trllo
c71aae5fd8 added missing imports 2023-08-02 14:21:24 +02:00
Petr Kalis
ed3e5a8c6b OP-4845 - fix missing AYON_BUNDLE_NAME 2023-08-02 14:20:07 +02:00
Petr Kalis
4b6bee1c76 OP-4845 - fix missing import AYON_SERVER_ENABLED 2023-08-02 14:17:50 +02:00
Petr Kalis
11c766eca7
Update openpype/modules/deadline/plugins/publish/submit_publish_job.py
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-08-02 14:09:03 +02:00
Petr Kalis
ee0a39d945
Update openpype/modules/deadline/plugins/publish/submit_maya_remote_publish_deadline.py
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-08-02 14:08:53 +02:00
Petr Kalis
6714911192
Update openpype/modules/deadline/plugins/publish/submit_nuke_deadline.py
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-08-02 14:08:38 +02:00
Petr Kalis
31eabd4e63 OP-4845 - sanitizing deadline url
Deadline behaves weirdly if trailing slash is left in webservice url. This should remove it.
2023-08-02 13:48:15 +02:00
Petr Kalis
476f018485 OP-4845 - use ordinary publish template resolving instead hardcoding
Now it should use configuration in `tools/publish/template_name_profiles` instead of hardcoded value.
2023-07-25 16:35:47 +02:00
Petr Kalis
bf831778d8 OP-4845 - temporary fix for missing Ayon template
Not sure if it was decided that Ayon won't have default 'render' template as OP does, but this should workaround it for testing. Needs to be fixed!
2023-07-18 19:38:08 +02:00
Petr Kalis
31f2ff680a OP-4845 - fix passing correct values to Ayon publish job 2023-07-18 19:37:03 +02:00
Petr Kalis
2db022b6f9 Merge branch 'develop' of github.com:ynput/OpenPype into feature/OP-4845_Deadline-Addon 2023-07-18 19:31:58 +02:00
Petr Kalis
961bfe6c2e
Remove forgotten dev logging (#5315) 2023-07-18 13:23:00 +02:00
Jakub Trllo
7c0466df32
Formatting fix 2023-07-17 18:49:31 +02:00
Petr Kalis
6f1400433d Replace '-' with none
Validator would complain about non-existent pool
2023-07-17 18:40:31 +02:00
Petr Kalis
39ea6b102b Fix missing context argument 2023-07-17 18:18:32 +02:00
Petr Kalis
3e5aa1033b OP-4845 - created new AYON_* env var to differentiate Deadline jobs
OP and Ayon will live together for a while so jobs sent to DL need to be differentiated by new env vars.
2023-07-17 17:19:51 +02:00
Petr Kalis
7939836e65
Merge branch 'develop' into maye_new_publisher_with_RR 2023-07-17 11:08:55 +02:00
Jakub Jezek
d63c012396
deadline removing OPENPYPE_VERSION from houdini and max submitters 2023-07-14 11:03:02 +02:00
Petr Kalis
abc6a1eb27 Fix - context must be passe to set_representation_colorspace 2023-07-12 18:06:17 +02:00
Petr Kalis
681ff3ae0e Merge remote-tracking branch 'origin/maye_new_publisher_with_RR' into maye_new_publisher_with_RR 2023-07-12 17:05:57 +02:00
Petr Kalis
892758b4d0 Added missed colorspace injection for image sequences
Develop contains this information, was missed during shuffling things around.
2023-07-12 17:05:24 +02:00
Jakub Trllo
c10781a662 General: Reduce usage of legacy io (#4723)
* General: Connect to AYON server (base) (#3924)

* implemented 'get_workfile_info' in entities

* removed 'prepare_asset_update_data' which is not used

* disable settings and project manager if in v4 mode

* prepared conversion helper functions for v4 entities

* prepared conversion functions for hero versions

* fix hero versions

* implemented get_archived_representations

* fix get latest versions

* return prepared changes

* handle archived representation

* raise exception on failed json conversion

* map archived to active properly

* make sure default fields are added

* fix conversion of hero version entity

* fix conversion of archived representations

* fix some conversions of representations and versions

* changed active behavior in queries

* fixed hero versions

* implemented basic thumbnail caching

* added raw variants of crud methods

* implemented methods to get and create thumbnail

* fix from flat dict

* implemented some basic folder conversion for updates

* fix thumbnail updates for version

* implemented v4 thumbnail integrator

* simplified data mapping

* 'get_thumbnail' function also expect entity type and entity id for which is the thumbnail received

* implemented 'get_thumbnail' for server

* fix how thumbnail id is received from entity

* removed unnecessary method 'get_thumbnail_id_from_source'

* implemented thumbnail resolver for v4

* removed unnecessary print

* move create and delete project directly to server api

* disable local settings action too on v4

* OP-3521 - added method to check and download updated addons from v4 server

* OP-3521 - added more descriptive error message for missing source

* OP-3521 - added default implementation of addon downloader to import

* OP-3521 - added check for dependency package zips

WIP - server doesn't contain required endpoint. Testing only with mockup data for now.

* OP-3521 - fixed parsing of DependencyItem

Added Server Url type and ServerAddonDownloader - v4 server doesn't know its own DNS for static files so it is sending unique name and url must be created during runtime.

* OP-3521 - fixed creation of targed directories

* change nev keys to look for and don't set them automatically

* fix task type conversion

* implemented base of loading v4 addons in v3

* Refactored argument name in Downloaders

* Updated parsing to DependencyItem according to current schema

* Implemented downloading of package from server

* Updated resolving of failures

Uses Enum items.

* Introduced passing of authorization token

Better to inject it than to have it from env var.

* Remove weird parsing of server_url

Not necessary, endpoints have same prefix.

* Fix doubling asset version name in addons folder

Zip file should already contain `addonName_addonVersion` as first subfolder

* Fix doubling asset version name in addons folder

Zip file should already contain `addonName_addonVersion` as first subfolder

* Made server_endpoint optional

Argument should be better for testing, but for calling from separate methods it would be better to encapsulate it.

Removed unwanted temporary productionPackage value

* Use existing method to pull addon info from Server to load v4 version of addon

* Raise exception when server doesn't have any production dependency package

* added ability to specify v3 alias of addon name

* expect v3_alias as uppered constant

* Re-implemented method to get addon info

Previous implementation wouldn't work in Python2 hosts.
Will be refactored in the future.

* fix '__getattr__'

* added ayon api to pyproject.toml and lock file

* use ayon api in common connection

* added mapping for label

* use ayon_api in client codebase

* separated clearing cache of url and username

* bump ayon api version

* rename env 'OP4_TEST' to 'USE_AYON_SERVER'

* Move and renamend get_addons_info to get_addons_info_as_dict in addon_distribution

Should be moved to ayon_api later

* Replaced requests calls with ayon_api

* Replaced OP4_TEST_ENABLED with AYON_SERVER_ENABLED

fixed endpoints

* Hound

* Hound

* OP-3521 - fix wrong key in get_representation_parents

parents overloads parents

* OP-3521 - changes for v4 of SiteSync addon

* OP-3521 - fix names

* OP-3521 - remove storing project_name

It should be safer to go thorug self.dbcon apparently

* OP-3521 - remove unwanted

"context["folder"]" can be only in dummy test data

* OP-3521 - move site sync loaders to addon

* Use only project instead of self.project

* OP-3521 - added missed get_progress_for_repre

* base of settings conversion script

* simplified ayon functions in start.py

* added loading of settings from ayon server

* added a note about colors

* fix global and local settings functions

* AvalonMongoDB is not using mongo connection on ayon server enabled

* 'get_dynamic_modules_dirs' is not checking system settings for paths in setting

* log viewer is disabled when ayon server is enabled

* basic logic of enabling/disabled addons

* don't use mongo logging if ayon server is enabled

* update ayon api

* bump ayon api again

* use ayon_api to get addons info in modules/base

* update ayon api

* moved helper functions to get addons and dependencies dir to common functions

* Initialization of AddonInfo is not crashing on unkonwn sources

* renamed 'DependencyDownloader' to 'AyonServerDownloader'

* renamed function 'default_addon_downloader' to 'get_default_addon_downloader'

* Added ability to convert 'WebAddonSource' to 'ServerResourceSorce'

* missing dependency package on server won't cause crash

* data sent to downloaders don't contain ayon specific headers

* modified addon distribution to not duplicate 'ayon_api' functionality

* fix doubled function defintioin

* unzip client file to addon destination

* formatting - unify quotes

* disable usage of mongo connection if in ayon mode

* renamed window.py to login_window.py

* added webpublisher settings conversion

* added maya conversion function

* reuse variable

* reuse variable (similar to previous commit)

* fix ayon addons loading

* fix typo 'AyonSettingsCahe' -> 'AyonSettingsCache'

* fix enabled state changes

* fix rr_path in royal render conversion

* avoid mongo calls in AYON state

* implemented custom AYON start script

* fix formatting (after black)

* ayon_start cleanup

* 'get_addons_dir' and 'get_dependencies_dir' store value to environment variable

* add docstrings to local dir functions

* addon info has full name

* fix modules enabled states

* removed unused 'run_disk_mapping_commands'

* removed ayon logic from 'start.py'

* fix warning message

* renamed 'openpype_common' to 'ayon_common'

* removed unused import

* don't import igniter

* removed startup validations of third parties

* change what's shown in version info

* fix which keys are applied from ayon values

* fix method name

* get applications from attribs

* Implemented UI basics to be able change user or logout

* merged server.py and credentials.py

* add more metadata to urls

* implemented change token

* implemented change user ui functionality

* implemented change user ui

* modify window to handle username and token value

* pass username to add server

* fix show UI cases

* added loggin action to tray

* update ayon api

* added missing dependency

* convert applications to config in a right way

* initial implementation of 'nuke' settings conversion

* removed few nuke comments

* implemented hiero conversion

* added imageio conversion

* added run ayon tray script

* fix few settings conversions

* Renamed class of source classes as they are not just for addons

* implemented objec to track source transfer progress

* Implemented distribution item with multiple sources

* Implemented ayon distribution wrapper to care about multiple things during distribution

* added 'cleanup' method for downlaoders

* download gets tranfer progress object

* Change UploadState enum

* added missing imports

* use AyonDistribution in ayon_start.py

* removed unused functions

* removed implemented TODOs

* fix import

* fix key used for Web source

* removed temp development fix

* formatting fix

* keep information if source require distribution

* handle 'require_distribution' attribute in distribution process

* added path attribute to server source

* added option to pass addons infor to ayon distribution

* fix tests

* fix formatting

* Fix typo

* Fix typo

* remove '_try_convert_to_server_source'

* renamed attributes and methods to match their content

* it is possible to pass dependency package info to AyonDistribution

* fix called methods in tests

* added public properties for error message and error detail

* Added filename to WebSourceInfo

Useful for GDrive sharable links where target file name is unknown/unparsable, it should be provided explicitly.

* unify source conversion by adding 'convert_source' function

* Fix error message

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

* added docstring for 'transfer_progress'

* don't create metadata file on read

* added few docstrings

* add default folder fields to folder/task queries

* fix generators

* add dependencies when runnign from code

* add sys paths from distribution to pythonpath env

* fix missing applications

* added missing conversions for maya renderers

* fix formatting

* update ayon api

* fix hashes in lock file

* Use better exception

Co-authored-by: Ondřej Samohel <33513211+antirotor@users.noreply.github.com>

* Use Python 3 syntax

Co-authored-by: Ondřej Samohel <33513211+antirotor@users.noreply.github.com>

* apply some of sugested changes in ayon_start

* added some docstrings and suggested modifications

* copy create env from develop

* fix rendersettings conversion

* change code by suggestions

* added missing args to docstring

* added missing docstrings

* separated downloader and download factory

* fix ayon settings

* added some basic file docstring to ayon_settings

* join else conditions

* fix project settings conversion

* fix created at conversion

* fix workfile info query

* fix publisher UI

* added utils function 'get_ayon_appdirs'

* fix 'get_all_current_info'

* fix server url assignment when url is set

* updated ayon api

* added utils functions to create local site id for ayon

* added helper functions to create global connection

* create global connection in ayon start to start use site id

* use ayon site id in ayon mode

* formatting cleanup

* added header docstring

* fixes after ayon_api update

* load addons from ynput appdirs

* fix function call

* added docstring

* update ayon pyton api

* fix settings access

* use ayon_api to get root overrides in Anatomy

* bumbayon version to 0.1.13

* nuke: fixing settings keys from settings

* fix burnins definitions

* change v4 to AYON in thumbnail integrate

* fix one more v4 information

* Fixes after rebase

* fix extract burnin conversion

* additional fix of extract burnin

* SiteSync:added missed loaders or v3 compatibility (#4587)

* Added site sync loaders for v3 compatibility

* Fix get_progress_for_repre

* use 'files.name' instead of 'files.baseName'

* update ayon api to 0.1.14

* add common to include files

* change arguments for hero version creation

* skip shotgrid settings conversion if different ayon addon is used

* added ayon icons

* fix labels of application variants

* added option to show login window always on top

* login window on invalid credentials is always on top

* update ayon api

* update ayon api

* add entityType to project and folders

* AYON: Editorial hierarchy creation (#4699)

* disable extract hierarchy avalon when ayon mode is enabled

* implemented extract hierarchy to AYON

---------

Co-authored-by: Petr Kalis <petr.kalis@gmail.com>
Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
Co-authored-by: Ondřej Samohel <33513211+antirotor@users.noreply.github.com>
Co-authored-by: Jakub Jezek <jakubjezek001@gmail.com>

* replace 'legacy_io' with context functions in load plugins

* added 'get_global_context' to pipeline init

* use context getters instead of legacy_io in publish plugins

* use data on context instead of  'legacy_io' in submit publish job

* skip query of asset docs in collect nuke reads

* use context functions on other places

* 'list_looks' expects project name

* remove 'get_context_title'

* don't pass AvalonMongoDB to prelaunch hooks

* change how context is calculated in hiero

* implemented function 'get_fps_for_current_context' for maya

* initialize '_image_dir' and '_image_prefixes' in init

* legacy creator is using 'get_current_project_name'

* fill docstrings

* use context functions in workfile builders

* hound fixes

* 'create_workspace_mel' can expect project settings

* swapped order of arguments

* use information from instance/context data

* Use self.project_name in workfiles tool

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

* Remove outdated todo

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

* don't query project document in nuke lib

* Fix access to context data

* Use right function to get project name

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

* fix submit max deadline and swap order of arguments

* added 'get_context_label' to nuke

* fix import

* fix typo 'curent_context' -> 'current_context'

* fix project_setting variable

* fix submit publish job environments

* use task from context

* Removed unused import

---------

Co-authored-by: Petr Kalis <petr.kalis@gmail.com>
Co-authored-by: Roy Nieterau <roy_nieterau@hotmail.com>
Co-authored-by: Ondřej Samohel <33513211+antirotor@users.noreply.github.com>
Co-authored-by: Jakub Jezek <jakubjezek001@gmail.com>
2023-07-11 18:11:07 +02:00