Exemples¶
Voici quelques exemple pour réaliser certaines actions spécifiques. N’hésitez pas regarder directement la documentation des classes pour connaître les paramètres que vous pouvez utilisez ainsi que les fonctions disponibles.
Récupérer les projets accessibles par l’utilisateur¶
projects=aq.project.get_all()
Créer un dossier dans un projet¶
# projects is defined on the previous example
project = projects[0]
reference_folder=project.append(type='Group', data={'name': 'References'})
Uploader une image dans un dossier¶
# reference_folder is defined on the previous example
media = reference_folder.item.append(type='Media', path=r"/mnt/project/image.jpg")
Récupérer les dossiers d’un projet¶
# project is defined on previous example
folders = project.get_children(types="Group")
Créer un shot dans une séquence¶
sequence_key = 123456
shot = aq.item(sequence_key).append(type="Shot", data={'name': 's010_p100', frameIn: '101', frameOut: '256'})
Récupérer les tâches assignées de l’utilisateur courant¶
me=aq.get_current_user()
my_tasks=me.get_tasks()
Récupérer les tâches assignées au sein d’un projet de l’utilisateur courant¶
projectKey=123456
me=aq.get_current_user()
my_tasks=me.get_tasks(project_key=projectKey)
Récupérer les shots ou assets d’un projet¶
projectKey=123456
project=aq.project(123456).get()
shots=project.get_shots()
Conseil
En fonction de la structure de votre projet, il pourra être plus performant d’utiliser directement un traverse avec une requête personnalisée.
Récupérer les status disponibles pour une tâche¶
me=aq.get_current_user()
tasks=me.get_tasks()
statuses=tasks[0].get_statuses()
Créer une playlist avec les media uploadés aujourd’hui¶
# project is defined on the previous example
playlist = project.append(type="Playlist", data={'name': 'My playlist'})
medias = project.traverse(meshql="# -($Child, 5)> $Media AND item.updatedAt > DATE_ROUND(@now, 1, 'day') VIEW item")
medias = [aq.item(media) for media in medias]
for media in medias:
aq.edge.create(type="Child", from_key=playlist.item._key, to_key=media._key)
imported_media = playlist.item.get_medias()
Ecouter des événements¶
events = aq.events.listen()
callback = lambda event: print(event)
allEvents = events.subscribe('*', callback)
itemCreated = events.subscribe('item.created', callback)
events.unsubscribe('*', allEvents)
events.start()