Commit graph

270 commits

Author SHA1 Message Date
Petr Kalis
65c9582d55
Nuke: farm rendering of prerender ignore roots in nuke (#5366)
* OP-6407 - fix wrong value used in comparison

`prerender.farm` is correct value for prerender family sent to farm

* OP-6407 - added test class for prerender family
2023-07-31 18:28:39 +02:00
Petr Kalis
84d5c1681c
Copy file_handler as it will be removed by purging ayon code (#5357)
Ayon code will get purged in the future therefore all ayon_common will be gone. file_handler gets internalized to tests as it is not used anywhere else.
2023-07-27 14:41:57 +02:00
Petr Kalis
7939836e65
Merge branch 'develop' into maye_new_publisher_with_RR 2023-07-17 11:08:55 +02:00
Jakub Trllo
47473a8a23 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>
2023-07-11 17:50:50 +02:00
Petr Kalis
c83589b0c4 Merge maya_new_publisher 2023-06-26 12:32:34 +02:00
Jakub Jezek
711dd888e9
updating testing data 2023-06-01 12:37:39 +02:00
Jakub Ježek
ec7b85b501
Merge branch 'develop' into feature/OP-5207_Global-host-color-management-activation 2023-05-31 15:41:02 +02:00
Petr Kalis
81cca7fc76 Merge develop 2023-05-30 11:45:58 +02:00
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 Ježek
2c31dc1f21
Merge branch 'develop' into feature/OP-5207_Global-host-color-management-activation 2023-05-24 10:25:24 +02:00
Ondřej Samohel
226b088871
Merge branch 'develop' into feature/OP-3933_RR-support 2023-05-16 13:57:04 +02:00
Ondrej Samohel
628ecbe5e2
🚚 move test file 2023-05-15 17:58:12 +02:00
Petr Kalis
fe08d8d729
Merge branch 'develop' into feature/OP-3933_RR-support 2023-05-10 18:46:57 +02:00
Petr Kalis
ddb227bd95 Remove unfinished file 2023-05-10 17:25:13 +02:00
Jakub Ježek
1cc60bb52a
Merge branch 'develop' into feature/OP-5207_Global-host-color-management-activation 2023-05-05 16:06:55 +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
Jakub Jezek
602a4ae8ec
Merge branch 'develop' into feature/OP-5207_Global-host-color-management-activation 2023-05-02 20:56:58 +02:00
Petr Kalis
b8ce6e9e9c
Photoshop: add autocreators for review and flat image (#4871)
* OP-5656 - added auto creator for review in PS

Review instance should be togglable.
Review instance needs to be created for non publisher based workflows.

* OP-5656 - refactored names

* OP-5656 - refactored names

* OP-5656 - new auto creator for flat image

In old version flat image was created if no instances were created. Explicit auto creator added for clarity.

Standardization of state of plugins

* OP-5656 - updated according to auto image creator

Subset template should be used from autocreator and not be separate.

* OP-5656 - fix proper creator name

* OP-5656 - fix log message

* OP-5656 - fix use enable state

* OP-5656 - fix formatting

* OP-5656 - add review toggle to image instance

For special cases where each image should have separate review.

* OP-5656 - fix description

* OP-5656 - fix not present asset and task in instance context

* OP-5656 - refactor - both auto creators should use same class

Provided separate description.

* OP-5656 - fix - propagate review to families

Image and auto image could have now review flag.
Bottom logic is only for Webpublisher.

* OP-5656 - fix - rename review files to avaid collision

Image family produces jpg and png, jpg review would clash with name. It should be replaced by 'jpg_jpg'.

* OP-5656 - fix - limit additional auto created only on WP

In artist based publishing auto image would be created by auto creator (if enabled). Artist might want to disable image creation.

* OP-5656 - added mark_for_review flag to Publish tab

* OP-5656 - fixes for auto creator

* OP-5656 - fixe - outputDef not needed

outputDef should contain dict of output definition. In PS it doesn't make sense as it has separate extract_review without output definitions.

* OP-5656 - added persistency of changes to auto creators

Changes as enabling/disabling, changing review flag should persist.

* OP-5656 - added documentation for admins

* OP-5656 - added link to new documentation for admins

* OP-5656 - Hound

* OP-5656 - Hound

* OP-5656 - fix shared families list

* OP-5656 - added default variant for review and workfile creator

For workfile Main was default variant, "" was for review.

* OP-5656 - fix - use values from Settings

* OP-5656 - fix - use original name of review for main review family

outputName cannot be in repre or file would have ..._jpg.jpg

* OP-5656 - refactor - standardized settings

Active by default denotes if created instance is active (eg. publishable) when created.

* OP-5656 - fixes for skipping collecting auto_image

data["ids"] are necessary for extracting. Members are physical layers in image, ids are "virtual" items, won't get grouped into real image instance.

* OP-5656 - reworked auto collectors

This allows to use automatic test for proper testing.

* OP-5656 - added automatic tests

* OP-5656 - fixes for auto collectors

* OP-5656 - removed unnecessary collector

Logic moved to auto collectors.

* OP-5656 - Hound
2023-05-02 11:19:50 +02:00
Jakub Jezek
aa2d683dd9
adding test routine for the slate condition 2023-04-20 21:49:58 +02:00
Jakub Ježek
864d1fc8e8
Merge branch 'develop' into feature/OP-5207_Global-host-color-management-activation 2023-04-17 12:30:53 +02:00
Jakub Jezek
6ae7b41533
fixing tests 2023-04-12 22:50:32 +02:00
Petr Kalis
80c50af2b9 OP-3951 - Hound 2023-03-30 13:45:37 +02:00
Petr Kalis
028d46597e Merge remote-tracking branch 'origin/bugfix/OP-3951_Deadline-checking-existing-frames-fails-when-there-is-number-in-file-name' into bugfix/OP-3951_Deadline-checking-existing-frames-fails-when-there-is-number-in-file-name 2023-03-30 13:43:11 +02:00
Petr Kalis
97d5b187e8 OP-3951 - updated logic
Doesn't make sense to validate sequence for single frame.
Updated tests accordingly. No sense in testing single frames so widely.
2023-03-30 13:42:30 +02:00
Petr Kalis
53d395e708
OP-3951 - updated value
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-03-29 13:19:21 +02:00
Petr Kalis
0a642d475c
OP-3951 - changed debug value
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-03-29 13:19:02 +02:00
Petr Kalis
e2546e5547
OP-3951 - removed unnecessary key
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-03-29 13:18:37 +02:00
Petr Kalis
36328f8b1a
OP-3951 - removed unnecessary key
Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
2023-03-29 13:18:07 +02:00
Petr Kalis
93d98c3f9c OP-3951 - use ext on representation
Without it ass.gz files won't work
2023-03-27 16:55:19 +02:00
Petr Kalis
94ceba790e OP-3951 - updated tests 2023-03-24 16:49:43 +01:00
Petr Kalis
f95007b660 OP-3951 - Hound 2023-03-24 11:15:27 +01:00
Petr Kalis
0648271ec7 OP-3951 - added tests for validate_sequence_frames
Introduced conftest with dummy environment for basic tests
2023-03-23 18:15:11 +01:00
Jakub Ježek
a2f56b7921
Merge pull request #4623 from ynput/bugfix/nuke-deadline-submitter 2023-03-21 11:37:47 +01:00
Petr Kalis
4506a2f3ef Fix broken Nuke local test
Accidentally used DL version
2023-03-20 13:41:17 +01:00
Petr Kalis
8449c2131d Extended Nuke testing classes with representation details 2023-03-15 18:28:55 +01:00
Roy Nieterau
ee7e2f1bcd Update tests and documentation for ExtractorColormanaged refactor to ColormanagedPyblishPluginMixin 2023-03-13 23:00:03 +01:00
Petr Kalis
ff19ae0385
Added setup_only to tests (#4591)
Allows to download test zip, unzip and restore DB in preparation for new test.
2023-03-13 15:37:23 +01:00
Petr Kalis
6704ba1531 OP-4850 - fix AE multicomposition
3 subsets >> 3 versions
2023-01-31 18:35:36 +01:00
Petr Kalis
148c55361f OP-4850 - fix AE tests
'png' extension have 2 representations instead 1. (One is regular, one is from review, with name 'png_png'
2023-01-31 18:06:44 +01:00
Jakub Jezek
37dc18b837
hound comments 2023-01-25 15:55:03 +01:00
Jakub Jezek
3d4d63bd08
flake8 fixes 2023-01-17 14:47:54 +01:00
Jakub Jezek
29d51b0209
testing: updating test data to colorspace 2023-01-13 13:19:53 +01:00
Jakub Jezek
54f04dd7de
testing: refactor set_representation_colorspace to address new inputs 2023-01-11 17:32:11 +01:00
Jakub Jezek
e13a99782f
testing: updating to new gdrive data 2023-01-05 17:20:09 +01:00
Jakub Jezek
f2a9169ffd
testing: publish plugins finalisation 2023-01-05 17:16:42 +01:00
Jakub Jezek
70b2df5fff
testing: adding publish plugins tests 2023-01-04 21:32:59 +01:00
Jakub Jezek
a429352964
testing: abstracting legacy_io fixture to lib for other pipeline tests 2023-01-04 21:32:40 +01:00
Jakub Jezek
c87b147d48
testing: removing prints form colorspace tests 2023-01-04 16:06:46 +01:00
Jakub Jezek
14b52ac625
testing: colorspace legacy_io fixture 2023-01-04 13:54:08 +01:00
Jakub Jezek
233808f1ee
testing: fixing relation of fixture 2023-01-04 13:53:41 +01:00