Jump to content

Andriy Babak

Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by Andriy Babak

  1. If you go to System settings > Users and Groups and set up columns order and widths the way you like and then click another group to view, your setup is reset to default. This is pretty annoying.

    And default column widths are not fine-tuned. I would make the following columns much narrower by default: actions, icon, Password (there are only "****", do we need it?) Enabled, Type. It would not be a problem if I could set them up once the way I like.

     

  2. I'd like to add that if you use location plugins (or some other non-application plugins), you'll need to register them for these sessions as well. And this is very inconvenient: the logging is doubled, you need to control which hook paths to include. I hope, some day the sessions will be thread-safe ;)

  3. Hi,

    I need to send an application launch event to a running ftrack connect of current user. I tried many options but the events just go to nowhere. As I started to test the event system I came across the "send_message_to_user" code from the "ftrack-recipes" that looked like a good start.

    Unfortunately, this code shows exactly the same: the evnts are sent but never received. I've double checked that the session.api_user is the same and the connection is established to the same server. I tried to switch the 'synchronous' option but that didn't change anything.

    Here's my test code that runs fine but no messages are shown in the web client:

    import ftrack_api
    
    
    def main():
        """
        Main entry point
        """
        # Subscribe to events with the update topic.
        session = ftrack_api.Session(auto_connect_event_hub=True)
        session.event_hub.publish(
            ftrack_api.event.base.Event(
                topic='ftrack.action.trigger-user-interface',
                data=dict(type='message', success=True, message='test message'),
                target='applicationId=ftrack.client.web and user.id="{0}"'.format(
                    session.api_user
                ),
            ),
            synchronous=True,
            on_error='ignore',
        )
        print("Done")
        session.event_hub.wait()
    
    
    if __name__ == "__main__":
        main()

     

  4. Hi Steve,

    Thank you, this works! Is it documented somewhere? Are there any ways to see this actual data and its type?

    If this is a string, how does it look like? What if I want to search just for names of the links? For example, to find all the names equal to "Shots" but not to match "Other Shots".

    Thank you.

    Andriy

     

  5. Is it possible to query the server asynchronously with the ability to cancel the (possibly) long-running query before it's done?

    Say I initiate a search but then the user corrects the query string and I want to be able to cancel the running query and restart the new search immediately.

    Thank you.

    Andriy

  6. Hi,

    I'd like to get the AssetVersion objects which belong to some TypedContext. The same way as the web interface shows the versions belonging to some tasks of a shot.

    When printing out the AssetVersion members, I see there's a list of "link" items with all the path entities up to the root project in the form of {"id", "type", "name"}. This looked very promising so I've created a query:

    query = "select id from AssetVersion where link any (id is {})".format(entity_id)

    But this returns an error:

    Quote

    ftrack_api.exception.ServerError: Server reported error: TypeError('NoneType' object has no attribute '__getitem__')

    I tried a million of other variations but none of them worked either. Can you suggest soemthing?

    Thanks.

     

    Andriy

  7. Actually, I've been able to fix this by inspecting the "make_non_encoding_web_playable.py" example.

    On more question though.

    When the "ftrack.location.component-added" event is fired up, the event['data'] contains either "component_id" and "location_id" (when the client uses the new ftrack connect) or "componentId" and "locationId" (when the client uses the old one). So I need to check both. Is it an expected behavior?

    Thanks.

  8. Hi,

    I am currently trying to automatically get web-playable movies when publishing the sequnces of frames. I'd like to discuss whether it's an optimal way of doing this and to ask some questions.

    I am registering for "ftrack.location.component-added" event, get the location and the component, check if a component's "system_type" is "sequence", ask the location to provide a file system path to frames, create a movie from these frames and fire up the "ftrack.connect.publish.make-web-playable" event providing the version id and the movie file path.

    The movie is generated fine, the event is published but nothing new is added to my version, the movie is not there. If I try to publish these frames together with this movie manually (by selecting the movie as web-playable in the ftrack connect), everything works as expected.

    Any suggestions?

    Thank you.

    Regards,

    Andriy

×
×
  • Create New...