2015-01-08 3 views
-1

현재 iTunes에서 현재 노래 재생 정보를 구문 분석하여 인쇄하는 스크립트가 있습니다. 노래가 변경된 경우에만 인쇄됩니다. 이제는 노래의 1 분이 경과되었지만이를 수행하는 방법을 알 수없는 경우에만 인쇄하도록하고 싶습니다. X 시간이 경과 한 경우에만 인쇄하는 방법

내가 현재 가지고있는 코드 :

def giveData(): 
    last_title, last_artist, last_album = None, None, None 
    while True: 
     template = '"%s" by %s (%d)\n from %s' 
     info = '' 

iTunesCount = app('System Events').processes[its.name == 'iTunes'].count() 
if iTunesCount > 0: 
    iTunes = app('iTunes') 
    if iTunes.player_state.get() == k.playing: 
    track = iTunes.current_track.get() 
    artist = track.artist.get() 
    title = track.name.get() 
    album = track.album.get() 
    stars = track.rating.get()/20 

    if title != last_title or artist != last_artist or album != last_album: 

     last_title, last_artist, last_album = title, artist, album 
     info = template % (title, artist, stars, album) 

    # Trying new solution, still printing songs that haven't been playing 
    # for 60s, just delaying printing them by 60s: 

     now = time.time() 
     future = now + 60 
     while time.time() < future: 
     pass 

     song_info = title + " - " + artist 
     print song_info` 
+0

을 사용하여 지적? –

+0

파이썬 2.7.8을 사용하고 있습니다 –

+0

iTunes 정보에 어떻게 액세스하고 있는지 알아야합니다. –

답변

0

방법은 단지 시간 카운터를 추가하는 방법에 대한?

import time 

now = time.time() 
future = now + 60 
while time.time() < future: 
    pass 

print '60 seconds have passed' 

또는 @Undeterminant 같은

는 파이썬 라이브러리를 사용하는 그 무엇이 바로

time.sleep(60) 
+0

그게 효과가있을 것 같습니다! 나는 그것을 시험해 볼 것이다. –

+0

지금 업데이트했습니다. 이전 코드는 효과가 없었을 것입니다.) –

+0

인쇄 방법이 없습니다. 어쩌면 나는 그 진술을 올바른 장소에 넣지 않을 것이다. 바로 지금 그 주석이 나의 원래의 글에있는 곳이다. –