CSV Ingest Type

Hi there,
We are using the CSV ingest in the Tray Publisher for our plates. Before the “Product Type” column was enough to register the Loader in Nuke. After an upgrade, the plate no longer seems to have a Clip Loader in Nuke. I see there is now a Product Base Type, does that need to be used somehow ?

Any help would be appreciated,

It can, but there should be no need. It may be that you’re on an older core and server version that somehow they misbehave. But on a Loader plug-in the product type should currently filter the product base type if product base type is not set on loaders, so they are backwards compatible.

And aside of that, what used to be product type is becoming product base type - and product type is what will start acting as a studio overridable name/alias with much less affect on how pipeline behaves. The base types then start defining the pipeline behavior.

As such, this should not be the case - but I’d love more details on what’s failing for you exactly.

Thanks for the reply -
Core - 1.7.1
Server - 1.13.6
I have a product type column set to “plate” -
In the attached image - the green arrow is pubbed with the csv_ingest method and the red arrow with the regular tray publisher method.


The top one doesn’t register with the clip loader in Nuke but the bottom one does.

The first row will not work because it has set product_base_type - there is no loader for csv_ingest_file. In this case, product_type is not used.

so I think I get it now. Seems like a bug in CSV Ingest Creator we need to fix - it changes the product_type to plate but it is not touching product_base_type that is initialized somewhere to be the same value as product_type.

Thanks -
That seems about right -
Where can I make a fix request ?

A fix is on the way: Support Product Base Type in CSV ingest and fix backwards compatibility by BigRoy · Pull Request #123 · ynput/ayon-traypublisher · GitHub

Still passing through some last review, then when merged you can expect it in the next release.

2 Likes

Thanks so much !
Great news

Hi @BigRoy
We have updated to TrayPublisher 0.3.10 - but now I am getting this error -
Creator: CSV Ingest (io.ayon.creators.traypublisher.csv_ingest)

Error: string indices must be integers

Traceback (most recent call last):
  File "/home/rory.mark/.local/share/AYON/addons/core_1.7.2/ayon_core/pipeline/create/context.py", line 2330, in _create_with_unified_error
    result = creator.create(*args, **kwargs)
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.10/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 358, in create
    self._process_csv_file(
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.10/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 424, in _process_csv_file
    instances = self._create_instances_from_csv_data(
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.10/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 998, in _create_instances_from_csv_data
    folder_paths_by_id = {
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.10/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 999, in <dictcomp>
    f["id"]: f["path"]
TypeError: string indices must be integers

Any help would be appreciated

Thanks @rorym - created bugfix PR Create CSV Ingest: fix "TypeError: string indices must be integers" by BigRoy · Pull Request #128 · ynput/ayon-traypublisher · GitHub

I’m a bit confused how the PR made it through multiple people testing it and no one facing this issue :thinking:

Should be fixed with Release 0.3.11 · ynput/ayon-traypublisher · GitHub

Amazing - thanks so much !

Hi @BigRoy -
A further error has popped up
Creator: CSV Ingest (io.ayon.creators.traypublisher.csv_ingest)

Error: ‘name’

Traceback (most recent call last):
  File "/home/rory.mark/.local/share/AYON/addons/core_1.7.2/ayon_core/pipeline/create/context.py", line 2330, in _create_with_unified_error
    result = creator.create(*args, **kwargs)
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.11/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 358, in create
    self._process_csv_file(
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.11/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 424, in _process_csv_file
    instances = self._create_instances_from_csv_data(
  File "/home/rory.mark/.local/share/AYON/addons/traypublisher_0.3.11/ayon_traypublisher/plugins/create/create_csv_ingest.py", line 1066, in _create_instances_from_csv_data
    product_name: str = get_product_name(
  File "/home/rory.mark/.local/share/AYON/addons/core_1.7.2/ayon_core/pipeline/create/product_name.py", line 221, in inner
    return func(*args, **kwargs)
  File "/home/rory.mark/.local/share/AYON/addons/core_1.7.2/ayon_core/pipeline/create/product_name.py", line 471, in get_product_name
    "name": folder_entity["name"],
KeyError: 'name'

@BigRoy -
any thoughts here - sorry for the nudge

@rorym should’ve been fixed with Create CSV ingest: Add more folder data needed for get_product_name formatting by BigRoy · Pull Request #129 · ynput/ayon-traypublisher · GitHub but a new release seems like was still pending. Just triggered the release. Should be: Release 0.3.12 · ynput/ayon-traypublisher · GitHub

Hopefully that actually solves it.

Amazing - thanks so much