#!/usr/bin/python
#-*- encoding: utf-8 -*-
#
# install python-daemon
# sudo apt-get install python-daemon
#
import sys
import subprocess
from mpd import MPDClient
from daemon import DaemonContext
from daemon.pidlockfile import PIDLockFile
def daemon_main():
lcd_command="/home/pi/lcd/lcd"
client = MPDClient()
client.timeout = 10
client.idletimeout = None
client.connect("192.168.111.40",
6600) # connect to MPD Server
while True:
client.idle()
#
print(client.status()["state"])
if
client.status()["state"] == "play":
#
print(client.currentsong())
artist="artist" in client.currentsong()
title="title" in client.currentsong()
if artist and title:
#
print(client.currentsong()["artist"])
#
print(client.currentsong()["title"])
string=client.currentsong()["artist"]+"-"+client.currentsong()["title"]
else:
string=client.currentsong()["file"]
#
print string
args=[lcd_command,string]
#
print args
subprocess.call(args)
if
client.status()["state"] == "stop":
args=[lcd_command]
#
print args
subprocess.call(args)
client.close()
# send the close command
client.disconnect()
# disconnect from the server
if __name__ == '__main__':
# argv = sys.argv #
コマンドライン引数を格納したリストの取得
# argc = len(argv) # 引数の個数
dc = DaemonContext(
pidfile=PIDLockFile('/tmp/mpdClient.pid'),
stdout=open('/home/pi/mpd/stdout.txt',
'w+'),
stderr=open('/home/pi/mpd/stderr.txt',
'w+')
)
with dc:
daemon_main()
|