2009-12-19 17 views
5

Bir mac uygulamasındaki uygulamalardan dinlemek için python'u kullanmayla ilgili örnek/yardımcı kodları/distributed notifications kodunu arayın. Biliyorum, py-objc lib, python ve mac/cocoa sınıfları arasındaki köprüdür ve Foundation kütüphanesi, gözlemcileri eklemek için kullanılabilir, ancak iTunes'u izlemek için bunun nasıl kullanılacağına dair örnekler veya eğiticiler arayabilir.Bir Mac'te iTunes'dan (NSDistributedNotificationCenter'ı kullanarak) bildirimleri nasıl duyarsınız?

+0

iTunes, bugünlerde dağıtılmış bildirimler yayınlıyor mu? –

+0

Evet, com.apple.iTunes.player altında, bildirim izlemesi kullanarak onları görebilirim. – ismail

cevap

11

bunu tüm görebilirsiniz GrowlTunes gidin Aşağıdaki kod, standart python öznitelik erişimi gibi çalışmamaktadır.

Güncelleştirme: Python'da olduğu gibi özniteliklere erişemezsiniz, yani (.x), kod aşağıdan güncelleştirildi, şimdi Song_details adında bir dict oluşturur. date3: NSObject alt sınıfını kaldırarak sınıfa güncelleyin, addObserver'ı sınıftan ekleyerek kaldırın. Kodu github tarihinde güncel tutar, burada daha fazla güncelleme yapmayacaksınız.

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()