Commit graph

238 commits

Author SHA1 Message Date
Jakub Trllo
3ba7939222 removed usage of system settings from after effects 2023-09-01 17:10:40 +02:00
Jakub Jezek
93f897c780
deadline: adding collect farm target and removing redundant key 2023-08-24 13:59:34 +02:00
Jakub Trllo
dd27f4e839
AYON: Apply unknown ayon settings first (#5435)
* apply unknown ayon settings first

* added "Main" to empty default variants

* use 'default_variants' in aftereffects creator
2023-08-11 16:23:27 +02:00
Jakub Trllo
7debe12c2b
Webpublisher: Cleanup targets (#5418)
* remove remotepublish commands from cli

* use 'automated' target instead ot 'remotepublish'

* removed references to remotepublish

* added webpublish target

* use webpubish targets where automated does not make sense
2023-08-08 11:36:16 +02:00
Jakub Trllo
5da9e65975
removed unused imports from AE extractor (#5397) 2023-08-03 10:59:39 +02:00
Jakub Trllo
594f1014ce General: Qt scale enhancement (#5059)
* set 'QT_SCALE_FACTOR_ROUNDING_POLICY' to 'PassThrough'

* implemented 'get_openpype_qt_app' which set all openpype related attributes

* implemented get app functions in igniter and ayon common

* removed env varaibles 'QT_SCALE_FACTOR_ROUNDING_POLICY'

* formatting fixes

* fix line length

* fix args
2023-07-11 18:13:50 +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
Roy Nieterau
f58994d59c Loader: Remove context argument from Loader.__init__() (#4602)
* Remove Loader `context` argument to __init__

* Add backwards compatibility for Loader.load by still setting `.fname` attr

* Refactor/remove usage of `self.fname` in loaders

* Fix some refactoring

* Fix some refactoring

* Hound

* Revert invalid refactor

* Fix refactor

* Fix playblast panel collection

* Refactor missing method

* Fix typo

* Use the correct `context`

---------

Co-authored-by: Toke Stuart Jepsen <tokejepsen@gmail.com>
Co-authored-by: Kayla Man <64118225+moonyuet@users.noreply.github.com>
Co-authored-by: Jakub Trllo <jakub.trllo@gmail.com>
2023-07-11 17:48:33 +02:00
Petr Kalis
83242487fd
AfterEffects: support for workfile template builder (#5163)
* OP-5661 - added new menu item to AE extension

* OP-5661 - added support for addPlaceholder into extension

* OP-5661 - fix broken abstract loader

In some cases discover couldn't recognize that base plugin is abstract. Handled properly

* OP-5661 - WIP of implementing workfile template builder

* OP-5661 - added route to add placeholder

* OP-5661 - added route to build workfile

* OP-5661 - refactored arguments

* OP-5661 - implemented build workfile operation

moved from wrong position

* OP-5661 - removed wrong base plugin

* OP-5661 - implemented update placeholder logic

* OP-5661 - fix update placeholder metadata

* OP-5661 - added Creator placeholder plugin

* OP-5661 - pre_create_data could be passed into Creator

This allow to modify `pre_create_data` before automatically creating an instance. (Useful for overridding defaults.)

* OP-5661 - implemented populate of Create placeholder

* OP-5661 - implemented import of template

* OP-5661 - fix to populate correct create placeholder

Implemented function to select item(s) by their id. (CreateRender expects selected composition.)

* OP-5661 - fix workfile builder schema to multiplatform path

Path should be separated by platform.

* OP-5661 - implemented adding loaded items instead of placeholders

* OP-5661 - add Create Placeholder plugin to dropdown

* OP-5661 - add templated workfile to Settings

* OP-5661 - fix to choose template file from multiplatform

* OP-5661 - added documentation
2023-06-27 10:58:55 +02:00
Petr Kalis
136af34a71
AfterEffects: set frame range and resolution (#4983)
* OP-5660 - adding menu buttons to Set frame range in AE

* OP-5660 - refactored location of scripts

set_settings should be in lib as it is used elsewhere, but launch_logic and lib created circular dependency.
Moved main to launch logic as it is actually handling launching.

* OP-5660 - added set_settings to creator

When instance gets created, set frame range and resolution from DB.

* OP-5660 - minor fix

* OP-5660 - updated extension zip

* OP-5660 - updated documentation

* OP-5660 - fixed missing exception

* OP-5660 - fixed argument

* OP-5560 - fix imports

* OP-5660 - updated extension

* OP-5660 - add js alert message for buttons

* OP-5660 - repacked extension

Without Anastasyi showed success, but extension wasn't loaded.

* OP-5660 - make log message nicer

* OP-5660 - added log if workfile not saved

* OP-5660 - provide defaults to limit None exception

* OP-5660 - updated error message
2023-05-22 10:45:20 +02:00
Petr Kalis
60efa939a8
OP-5714 - allow returning stub with not saved workfile (#4984)
Without it is not possible to create first workile.
2023-05-18 10:59:13 +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
Thomas Fricard
fcffb91948
After Effects: fix handles KeyError (#4727)
* get handles from context if not in asset

* fix linting errors

* get frameStart, frameEnd, handleStart and handleEnd from context

---------

Co-authored-by: clement hector <clement.hector@fixstudio.com>
Co-authored-by: Thomas Fricard <tfricard@ws114.prs.vfx.int>
2023-04-14 17:39:53 +02:00
Roy Nieterau
3fae1f8521 Just some grammar tweaks 2023-03-30 13:59:22 +02:00
Petr Kalis
b70c6e4bfd OP-4938 - fix obsolete access to instance change 2023-02-15 18:32:56 +01:00
Petr Kalis
0301309502 OP-4928 - removed legacy_io in workfile creator in AE
Legacy_io should be eradicated, replaced by abstracted methods
2023-02-15 12:33:35 +01:00
Petr Kalis
410ea87e18 OP-4928 - fix wrong usage of legacy_io
Import should be removed. Now it should be replaced from context.
2023-02-15 12:27:44 +01:00
Petr Kalis
59010eb9a6 OP-4653 - refactor - move most important method higher 2023-02-03 17:19:02 +01:00
Petr Kalis
31b137fa1d OP-4653 - Hound 2023-02-03 17:17:27 +01:00
Petr Kalis
993145e6f8 OP-4653 - fix wrong name 2023-02-03 17:16:55 +01:00
Petr Kalis
f2930ed156 OP-4653 - updated description in AE creator 2023-02-03 17:04:06 +01:00
Petr Kalis
53c1c842f5 OP-4653 - standardize use_composition_name
Follow more closely login in PS, eg. if {composition} placeholder not present in subset template and should be used, add capitalized.
Clean composition name
2023-02-03 17:02:33 +01:00
Petr Kalis
161e09bcdb OP-4615 - AE - fix missing list_instances 2023-01-17 12:30:59 +01:00
Jakub Trllo
d3753fef31 Merge branch 'develop' into release/3.15.x
# Conflicts:
#	openpype/hosts/aftereffects/api/pipeline.py
#	openpype/hosts/photoshop/api/pipeline.py
#	openpype/hosts/photoshop/plugins/create/create_legacy_image.py
#	openpype/modules/deadline/plugins/publish/submit_publish_job.py
2022-12-16 12:09:01 +01:00
Jakub Trllo
a3db8a0539 use qtpy in hosts which have use openpype process 2022-12-13 17:47:52 +01:00
Petr Kalis
7959bfb958
Merge branch 'release/3.15.x' into feature/OP-3426_Add-support-for-Deadline-for-automatic-tests 2022-12-02 15:35:00 +01:00
Petr Kalis
b0e433e520 OP-4362 - remove unnecessary call to super 2022-11-16 11:24:36 +01:00
Petr Kalis
9a503fce6a OP-4361 - fix wrong usage of regex 2022-11-15 16:49:40 +01:00
Petr Kalis
fb154ad4f1 OP-4361 - implemented multiple output modules per composition
Working version for local rendering.
2022-11-15 16:11:55 +01:00
Petr Kalis
2e1004c618 OP-4361 - rename composition after update, delete 2022-11-15 16:03:45 +01:00
Petr Kalis
702edb0efe OP-4361 - rename composition after create
Previously it was renaming composition with subset name, this was missing in new creator.
Renamed items to more descriptive 'comps'.
2022-11-15 12:17:27 +01:00
Petr Kalis
6a18fa0fda OP-4361 - updated Creator to use composition name
There is new flag to allow use composition name
Updated subset template. Removed obsolete 'renderLocal', now it is only 'render' with a flag.
2022-11-15 12:11:26 +01:00
Petr Kalis
9ba1028e61 OP-4361 - fixed issue in render info
Weird synchronization issue was happening in getRenderInfo when re-publishing published workfile. This implementation is ugly, but seems to work.
2022-11-11 12:53:22 +01:00
Petr Kalis
5f302eb95c OP-4361 - streamline local render
Do not do get render queue again, should be already collected.
2022-11-11 12:20:19 +01:00
Petr Kalis
104fc1fd83 OP-4361 - removed forgotten debug method call 2022-11-10 17:49:35 +01:00
Petr Kalis
7ca8b4ddf4 OP-4361 - addd support for multiple composition in AE
There cannot be multiple Render items for same composition in Render Queue.
There cannot be multiple output modules for same Render item.
2022-11-10 17:36:58 +01:00
Petr Kalis
418135cde0 Merge remote-tracking branch 'origin/release/3.15.x' into feature/OP-3426_Add-support-for-Deadline-for-automatic-tests 2022-11-07 12:40:41 +01:00
Petr Kalis
66bea60bdd OP-3426 - refactor - replaced check of env var with function
It would be better to modify single function if necessary.
2022-11-07 11:40:15 +01:00
Jakub Trllo
26ee6ade64 Merge branch 'develop' into release/3.15.x 2022-11-04 12:51:48 +01:00
Petr Kalis
a48650512e OP-3909 - updated error messages 2022-11-04 11:33:47 +01:00
Petr Kalis
b396a8d76b OP-4371 - fix - wrong call of list_instances 2022-11-04 11:18:50 +01:00
Petr Kalis
5a8876e364 OP-3908 - removed get_context_title
Not necessary to override, same functionality as in HostBase.
2022-11-03 17:24:45 +01:00
Petr Kalis
6c9483c2ad OP-3909 - remove uninstall
Not needed, not used anywhere.
2022-11-03 17:14:12 +01:00
Petr Kalis
fbdb2336d8 OP-3909 - fix wrong host variable 2022-11-03 17:13:15 +01:00
Petr Kalis
8502ea0139 OP-3908 - Hound 2022-11-03 17:12:42 +01:00
Jakub Trllo
12c28fe466 change imports in hosts 2022-11-03 16:27:38 +01:00
Petr Kalis
de5decbcbb OP-3908 - revert back to AE specific cache method
Standard approach doesn't handle legacy instances, eg. instance without creator_identifier.
2022-11-03 13:20:24 +01:00
Petr Kalis
64f8e2fc9c OP-3909 - fix - use values, filtering is later 2022-11-03 12:49:49 +01:00
Petr Kalis
e9834d973d OP-3909 - fix - add internal variable 2022-11-03 12:47:01 +01:00
Petr Kalis
ab4ed37604 OP-3909 - fix - use family to filter instances
cached instances are dictionary where keys are creator identifier, eg family.
2022-11-03 12:15:22 +01:00