Better (??) pianobar handling.

This commit is contained in:
Pecusx
2017-02-16 15:19:44 +01:00
committed by GitHub
parent 32a88f9945
commit f813c9ab7c
+5 -5
View File
@@ -1634,13 +1634,13 @@ class Radio:
x = self.pianobar.expect(pattern_list, timeout=0) x = self.pianobar.expect(pattern_list, timeout=0)
if x == 0: if x == 0:
# 'SONG: ' # 'SONG: '
x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT]) x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT], timeout=0)
if x == 0: # Artist - Title - from: "Album" if x == 0: # Artist - Title - from: "Album"
self.pandora_song_name = self.pianobar.before self.pandora_song_name = self.pianobar.before
self.setInterrupt() # A to dziala !!! self.setInterrupt() # A to dziala !!!
elif x == 1: elif x == 1:
# 'STATION: ' # 'STATION: '
x = self.pianobar.expect([' \| ', pexpect.TIMEOUT]) x = self.pianobar.expect([' \| ', pexpect.TIMEOUT], timeout=0)
if x == 0: if x == 0:
self.pandora_station_name = self.pianobar.before self.pandora_station_name = self.pianobar.before
elif x == 2: elif x == 2:
@@ -1654,7 +1654,7 @@ class Radio:
self.pandora_start() self.pandora_start()
elif x == 1: elif x == 1:
# jakis blad komunikat zamiast nazwy stacji # jakis blad komunikat zamiast nazwy stacji
x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT]) x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT], timeout=0)
if x == 0: if x == 0:
self.pandora_station_name = '***' + self.pianobar.before + '***' self.pandora_station_name = '***' + self.pianobar.before + '***'
self.pandora_song_name = '---------------------' self.pandora_song_name = '---------------------'
@@ -1665,7 +1665,7 @@ class Radio:
self.pandora_progress = self.pianobar.before self.pandora_progress = self.pianobar.before
if x == 4: if x == 4:
# 'Error:' - gramy dalej cisze i zamiast nazwy stacji dajemy komunikat o bledzie # 'Error:' - gramy dalej cisze i zamiast nazwy stacji dajemy komunikat o bledzie
x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT]) x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT], timeout=0)
if x == 0: if x == 0:
self.pandora_station_name = '***' + self.pianobar.before + '***' self.pandora_station_name = '***' + self.pianobar.before + '***'
self.pandora_song_name = '---------------------' self.pandora_song_name = '---------------------'
@@ -2278,7 +2278,7 @@ class Radio:
self.pianobar = pexpect.spawn('sudo -u pi pianobar') self.pianobar = pexpect.spawn('sudo -u pi pianobar')
# Sprawdzmy bledy sieci czy logowania # Sprawdzmy bledy sieci czy logowania
log.message("radio.pandora_start Wait for pianobar Login...", log.DEBUG) log.message("radio.pandora_start Wait for pianobar Login...", log.DEBUG)
self.pianobar.expect('Login... ') self.pianobar.expect(['Login... ', pexpect.TIMEOUT], timeout=1)
log.message("radio.pandora_start Wait LF after Login...", log.DEBUG) log.message("radio.pandora_start Wait LF after Login...", log.DEBUG)
x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT], timeout=30) x = self.pianobar.expect(['\r\n', pexpect.TIMEOUT], timeout=30)
if x == 0: # nie wisi na login wiec sprawdzamy jaki komunikat if x == 0: # nie wisi na login wiec sprawdzamy jaki komunikat