Sg_uploaded_movie_mp4 and sg_uploaded_movie_image not filterable in query

I realized to my dismay that I cannot do a find query based on the existence (or not) of an uploaded file!

for instance if I try to add [“sg_uploaded_movie_mp4”, “is_not”, None] in my Version query filter, I get this error:

shotgun_api3.shotgun.Fault: API read() Version.sg_uploaded_movie_image's 'url' data type cannot be used in a filter:
{"path"=>"sg_uploaded_movie_image", "relation"=>"is_not", "values"=>[nil]}

is there any query-able approach I can take to find all Version that have uploaded media?


The url data type is a compound data type (API Reference — python-api v3.5.1 documentation)
Not elegant, but maybe check sg_uploaded_movie_image.url is not None, and wrap it in a Try/Except test?

That type of dot notated query doesn’t seem to work here. It’s pretty explicit that any and all filtering by that data type is forbidden.

Confirmed: API Reference — python-api v3.5.1 documentation

“url ** Filtering by this data type field is not supported”

Are you uploading and using the transcoder that comes with SG?
Or are you doing your own mp4 uploads and bypassing the transcoder?

If you are using SG’s transcoder then you could check the status of the transcode via the sg_uploaded_movie_transcoding_status field.