Files
piplayer/code/test/call_mopidy.py
T
2017-10-09 22:42:42 +02:00

64 lines
1.5 KiB
Python

import os
import logging
import requests
import time
MOPIDY_URL = 'http://127.0.0.1:6680/mopidy/rpc'
MUSIC_EXTENSIONS = ('.aac', '.ac3', '.aiff', '.amr', '.au', '.flac', '.m4a', '.mid', '.mka', '.mp3', '.ogg', '.ra', '.voc', '.wav', '.wma')
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s - %(message)s')
def call(method, params=None):
if (params is None):
json = '{"jsonrpc": "2.0", "id": 1, "method": "' + method + '"}'
else:
json = '{"jsonrpc": "2.0", "id": 1, "method": "' + method + '" , "params": ' + params + '}'
response = requests.post(MOPIDY_URL, data=json)
logging.info(response.text)
return response
def clear_playlist():
call('core.tracklist.clear')
def add_uri(filename):
logging.info('Adding ' + filename)
call('core.tracklist.add', '{"uri": "' + filename + '"}')
def start_playing():
call('core.playback.play')
def play_sound(filename):
clear_playlist()
add_uri(filename)
start_playing()
def list_files(dir):
r = []
for path, dirs, files in os.walk(dir):
dirs.sort()
files.sort()
for name in files:
r.append(os.path.join(path, name))
return r
clear_playlist()
filenames = list_files('/home/tilman/Musik')
for filename in filenames:
if filename.lower().endswith(MUSIC_EXTENSIONS):
file_uri = 'file://' + filename
add_uri(file_uri)
start_playing()
time.sleep(2)
json = call('core.playback.get_time_position').json()
print(json['result'])