Auf der Suche nach Hilfe/Tutorials/Beispielcode der Verwendung von Python zu distributed notifications von Anwendungen auf einem Mac hören. Ich kenne die py-objc lib ist die Brücke zwischen Python und Mac/Kakao-Klassen, und die Foundation-Bibliothek kann verwendet werden, um Beobachter hinzuzufügen, aber auf der Suche nach Beispielen oder Tutorials, wie Sie dies verwenden, um iTunes zu überwachen.Wie hören Sie Benachrichtigungen von iTunes auf einem Mac (mit dem NSDistributedNotificationCenter)
Wie hören Sie Benachrichtigungen von iTunes auf einem Mac (mit dem NSDistributedNotificationCenter)
Antwort
Wenn jemand von dieser Frage kommt, ich herausgefunden, wie man zuhört, Der folgende Code funktioniert: Zugriff auf Attribute scheint jedoch nicht wie Standard-Python-Attributzugriff zu funktionieren.
Update: Sie greifen nicht auf Attribute wie in Python ie (.x), der Code wurde unten aktualisiert, es jetzt erzeugt ein dict namens song_details.
Up date3: Update auf den Code, jetzt NSObject subclassing, entfernt das Hinzufügen des addObserver aus der Klasse. Wird den Code auf github aktualisiert, keine Updates mehr hier.
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()
Der Quellcode für GrowlTunes könnte Ihnen hier einige Hinweise geben. Sie müßten von Objective-C zu PyObjC übersetzen, aber eh, was auch immer. :)
GrowlTurnesController.m (Oder den ganzen Knurren Quellbaum zu packen und zu GrowlTunes navigieren, so dass Sie alles in Aktion sehen können .: here's a link to the directions on how to get the source
Danke für die Hilfe, es geschafft, es herauszufinden, mit pyobjc Website & Apple-Website. – ismail
Veröffentlicht iTunes tatsächlich verteilt Benachrichtigungen in diesen Tagen? –
Ja, es tut .... unter com.apple.iTunes.player, mit der Benachrichtigung watch kann ich sie sehen. – ismail