5 from asyncio import run
7 from mpdaio.connection import ConnectionPool
8 from mpdaio.exceptions import MPDProtocolError
11 HELLO_PREFIX = 'OK MPD '
13 async def _hello(conn):
14 """Consume HELLO_PREFIX"""
16 # data = await conn.readline()
17 data = await conn.readuntil(b'\n')
18 rcv = data.decode('utf-8')
19 if not rcv.startswith(HELLO_PREFIX):
20 raise MPDProtocolError(f'Got invalid MPD hello: "{rcv}"')
21 logging.debug('consumed hello prefix')
22 logging.debug('"%s"', rcv)
23 version = rcv.split('\n')[0][len(HELLO_PREFIX):]
24 logging.debug('version: %s', version)
28 async def lookup(pool, server, port, query):
30 conn = await pool.connect(server, port)
32 except (ValueError, OSError):
37 conn.write(query.encode('utf-8'))
40 data = await conn.readuntil(b'OK\n')
41 rcv = data.decode('utf-8')
47 logging.basicConfig(level=logging.DEBUG)
48 pool = ConnectionPool(max_connections=10)
50 run(lookup(pool, 'hispaniola.lan', 6600,'currentsong'))
53 if __name__ == '__main__':