Szukasz pomocy/samouczków/przykładowy kod używania pythona do słuchania distributed notifications z aplikacji na komputerze Mac. Wiem, że biblioteka py-objc jest pomostem między python a klasami mac/cocoa, a biblioteka Foundation może być używana do dodawania obserwatorów, ale szuka przykładów lub samouczków, jak używać tego do monitorowania iTunes.Jak słuchać powiadomień z iTunes na Macu (przy użyciu NSDistributedNotificationCenter)
Odpowiedz
Jeśli ktoś przychodzi na to pytanie, zorientowali się, jak słuchać, . poniższy kod działa atrybuty korzystające jednak nie wydają się działać jak standardowy dostęp do atrybutu pyton
Update:. użytkownik nie korzysta z atrybutów, jak w python czyli (.x), kod został zaktualizowany poniżej, to teraz generuje dyktat o nazwie song_details.
date3: Zaktualizuj kod, teraz podporządkuj NSObject, usunięto dodając addObserver z klasy. Uaktualni kod na github, nie będzie więcej aktualizacji tutaj.
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()
Kod źródłowy GrowlTunes może dać ci pewne wskazówki. Trzeba by przetłumaczyć z Objective-C na PyObjC, ale cokolwiek. :)
GrowlTurnesController.m (Albo złapać całego drzewa źródłowego growl i przejdź do GrowlTunes więc można zobaczyć to wszystko w akcji .: here's a link to the directions on how to get the source
Dzięki za pomoc, udało się to rozgryźć za pomocą strony internetowej pyobjc i strony internetowej firmy Apple. – ismail
Czy iTunes rzeczywiście wysyła powiadomienia rozproszone w tych dniach? –
Tak, to działa ... pod com.apple.iTunes.player, używając zegarka powiadomień, widzę je. – ismail