Recherche d'aide/tutoriels/exemple de code d'utilisation de python pour écouter distributed notifications à partir d'applications sur un mac. Je sais que le py-objc lib est le pont entre les classes python et mac/cacao, et la bibliothèque Foundation peut être utilisée pour ajouter des observateurs, mais en cherchant des exemples ou des tutoriels sur la façon de l'utiliser pour surveiller iTunes.Comment écouter les notifications d'iTunes sur un Mac (Utilisation du NSDistributedNotificationCenter)
Répondre
Si quelqu'un vient par à cette question, je compris comment écouter, le code ci-dessous fonctionne, mais l'accès aux attributs ne semble pas fonctionner comme un accès aux attributs python standard
Mise à jour: vous n'avez pas accès aux attributs comme vous le feriez en python ie (.x), le code a été mis à jour ci-dessous, maintenant génère un dict appelé song_details
Up date3: mise à jour du code, maintenant sous-classe NSObject, suppression de l'ajout de l'addObserver à la classe. Gardera le code mis à jour sur github, pas plus de mises à jour ici.
import Foundation
from AppKit import *
from PyObjCTools import AppHelper
class GetSongs(NSObject):
def getMySongs_(self, song):
song_details = {}
ui = song.userInfo()
for x in ui:
song_details[x] = ui.objectForKey_(x)
print song_details
nc = Foundation.NSDistributedNotificationCenter.defaultCenter()
GetSongs = GetSongs.new()
nc.addObserver_selector_name_object_(GetSongs, 'getMySongs:', 'com.apple.iTunes.playerInfo',None)
NSLog("Listening for new tunes....")
AppHelper.runConsoleEventLoop()
Le code source de GrowlTunes peut vous donner quelques indications ici. Vous auriez à traduire d'Objective-C à PyObjC, mais eh, peu importe. :)
GrowlTurnesController.m (Ou saisir tout l'arbre source de grognement et accédez à GrowlTunes afin que vous puissiez voir tout en action .: here's a link to the directions on how to get the source
Merci pour l'aide, a réussi à le comprendre en utilisant le site Web pyobjc & apple site web. – ismail
iTunes publie-t-il des notifications distribuées ces jours-ci? –
Oui, il le fait .... sous com.apple.iTunes.player, en utilisant la surveillance des notifications, je peux les voir. – ismail