mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-30 09:26:15 +02:00
Reformat code
This commit is contained in:
parent
48b2840365
commit
baf09b340e
6 changed files with 436 additions and 307 deletions
|
@ -4,61 +4,72 @@ import telnetlib
|
|||
import json
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print("usage: control.py <SERVER HOST> [setVolume|setName]")
|
||||
sys.exit(0)
|
||||
print("usage: control.py <SERVER HOST> [setVolume|setName]")
|
||||
sys.exit(0)
|
||||
|
||||
telnet = telnetlib.Telnet(sys.argv[1], 1705)
|
||||
requestId = 1
|
||||
|
||||
def doRequest( j, requestId ):
|
||||
print("send: " + j)
|
||||
telnet.write(j + "\r\n")
|
||||
while (True):
|
||||
response = telnet.read_until("\r\n", 2)
|
||||
jResponse = json.loads(response)
|
||||
if 'id' in jResponse:
|
||||
if jResponse['id'] == requestId:
|
||||
print("recv: " + response)
|
||||
return jResponse;
|
||||
|
||||
def doRequest(j, requestId):
|
||||
print("send: " + j)
|
||||
telnet.write(j + "\r\n")
|
||||
while (True):
|
||||
response = telnet.read_until("\r\n", 2)
|
||||
jResponse = json.loads(response)
|
||||
if 'id' in jResponse:
|
||||
if jResponse['id'] == requestId:
|
||||
print("recv: " + response)
|
||||
return jResponse
|
||||
|
||||
|
||||
def setVolume(client, volume):
|
||||
global requestId
|
||||
doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Client.SetVolume', 'params': {'client': client, 'volume': volume}, 'id': requestId}), requestId)
|
||||
requestId = requestId + 1
|
||||
global requestId
|
||||
doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Client.SetVolume', 'params': {
|
||||
'client': client, 'volume': volume}, 'id': requestId}), requestId)
|
||||
requestId = requestId + 1
|
||||
|
||||
|
||||
def setName(client, name):
|
||||
global requestId
|
||||
doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Client.SetName', 'params': {'client': client, 'name': name}, 'id': requestId}), requestId)
|
||||
requestId = requestId + 1
|
||||
global requestId
|
||||
doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Client.SetName', 'params': {
|
||||
'client': client, 'name': name}, 'id': requestId}), requestId)
|
||||
requestId = requestId + 1
|
||||
|
||||
|
||||
if sys.argv[2] == "setVolume":
|
||||
if len(sys.argv) < 5:
|
||||
print("usage: control.py <SERVER HOST> setVolume <HOSTNAME> [+/-]<VOLUME>")
|
||||
exit(0)
|
||||
volstr = sys.argv[4]
|
||||
j = doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Server.GetStatus', 'id': 1}), 1)
|
||||
for client in j["result"]["clients"]:
|
||||
if(sys.argv[3] == client['host']['name'] or sys.argv[3] == 'all'):
|
||||
if(volstr[0] == '+'):
|
||||
volume = int(client['config']['volume']['percent']) + int(volstr[1:])
|
||||
elif(volstr[0] == '-'):
|
||||
volume = int(client['config']['volume']['percent']) - int(volstr[1:])
|
||||
else:
|
||||
volume = int(volstr)
|
||||
setVolume(client['host']['mac'], volume)
|
||||
if len(sys.argv) < 5:
|
||||
print(
|
||||
"usage: control.py <SERVER HOST> setVolume <HOSTNAME> [+/-]<VOLUME>")
|
||||
exit(0)
|
||||
volstr = sys.argv[4]
|
||||
j = doRequest(json.dumps(
|
||||
{'jsonrpc': '2.0', 'method': 'Server.GetStatus', 'id': 1}), 1)
|
||||
for client in j["result"]["clients"]:
|
||||
if (sys.argv[3] == client['host']['name'] or sys.argv[3] == 'all'):
|
||||
if (volstr[0] == '+'):
|
||||
volume = int(client['config']['volume']
|
||||
['percent']) + int(volstr[1:])
|
||||
elif (volstr[0] == '-'):
|
||||
volume = int(client['config']['volume']
|
||||
['percent']) - int(volstr[1:])
|
||||
else:
|
||||
volume = int(volstr)
|
||||
setVolume(client['host']['mac'], volume)
|
||||
|
||||
elif sys.argv[2] == "setName":
|
||||
if len(sys.argv) < 5:
|
||||
print("usage: control.py <SERVER HOST> setName <MAC> <NAME>")
|
||||
exit(0)
|
||||
setName(sys.argv[3], sys.argv[4])
|
||||
if len(sys.argv) < 5:
|
||||
print("usage: control.py <SERVER HOST> setName <MAC> <NAME>")
|
||||
exit(0)
|
||||
setName(sys.argv[3], sys.argv[4])
|
||||
|
||||
else:
|
||||
print("unknown command \"" + sys.argv[2] + "\"")
|
||||
print("unknown command \"" + sys.argv[2] + "\"")
|
||||
|
||||
j = doRequest(json.dumps({'jsonrpc': '2.0', 'method': 'Server.GetStatus', 'id': 1}), 1)
|
||||
j = doRequest(json.dumps(
|
||||
{'jsonrpc': '2.0', 'method': 'Server.GetStatus', 'id': 1}), 1)
|
||||
for client in j["result"]["clients"]:
|
||||
print("MAC: " + client['host']['mac'] + ", connect: " + str(client['connected']) + ", volume: " + str(client['config']['volume']['percent']) + ", name: " + client['host']['name'] + ", host: " + client['host']['ip'])
|
||||
print("MAC: " + client['host']['mac'] + ", connect: " + str(client['connected']) + ", volume: " + str(
|
||||
client['config']['volume']['percent']) + ", name: " + client['host']['name'] + ", host: " + client['host']['ip'])
|
||||
|
||||
telnet.close
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue