spotframework/alarm.py

50 lines
1.1 KiB
Python
Raw Normal View History

2019-06-11 11:59:24 +01:00
from spotframework.net.user import User
from spotframework.net.network import Network
import spotframework.log.log as log
import os
import datetime
2019-06-11 11:59:24 +01:00
def check_phone():
2019-04-30 23:56:55 +01:00
response = os.system("ping -c 1 -w5 " + os.environ['PHONEIP'] + " > /dev/null 2>&1")
2019-05-14 13:05:25 +01:00
log.log('checking for phone')
2019-04-30 23:56:55 +01:00
if response == 0:
return True
else:
return False
2019-06-11 11:59:24 +01:00
if __name__ == '__main__':
2019-05-14 13:05:25 +01:00
try:
2019-04-30 23:56:55 +01:00
2019-06-11 11:59:24 +01:00
network = Network(User())
2019-04-30 23:56:55 +01:00
2019-05-14 13:05:25 +01:00
found = False
2019-05-14 13:05:25 +01:00
for i in range(0, 36):
2019-06-11 11:59:24 +01:00
if check_phone():
2019-05-14 13:05:25 +01:00
found = True
break
2019-05-14 13:05:25 +01:00
if found:
2019-05-14 13:05:25 +01:00
date = datetime.datetime.now()
2019-06-11 11:59:24 +01:00
playlists = network.get_user_playlists()
2019-05-14 13:05:25 +01:00
playlisturi = next((i.uri for i in playlists if i.name == date.strftime("%B %-y").lower()), os.environ['SPOTALARMURI'])
2019-06-11 11:59:24 +01:00
network.play(playlisturi, network.get_device_id(os.environ['SPOTALARMDEVICENAME']))
2019-05-14 13:05:25 +01:00
2019-06-11 11:59:24 +01:00
network.set_shuffle(True)
network.set_volume(os.environ['SPOTALARMVOLUME'])
2019-05-14 13:05:25 +01:00
network.next()
2019-06-11 11:59:24 +01:00
log.dump_log()
2019-05-14 13:05:25 +01:00
except:
2019-06-11 11:59:24 +01:00
log.dump_log()