]> kaliko git repositories - python-musicpdaio.git/blobdiff - mpdaio/connection.py
Add more docstrings
[python-musicpdaio.git] / mpdaio / connection.py
index 5da292c0eae5a209cacd598537e852eb8397c954..d00f85af9755f81b84299dfe999ac624bb8f0e4c 100644 (file)
@@ -12,7 +12,7 @@ from collections import OrderedDict
 from types import TracebackType
 from typing import Any, List, Optional, Tuple, Type
 
-from . import HELLO_PREFIX
+from .const import HELLO_PREFIX
 from .exceptions import MPDProtocolError
 
 try:  # Python 3.7
@@ -61,12 +61,18 @@ class ConnectionPool(base):
                     if not conn.in_use:
                         await conn.close()
                         break
-
-            log.debug('about to connect %s', host)
-            reader, writer = await asyncio.wait_for(
-                    asyncio.open_connection(server, port),
-                    timeout
-                    )
+            if server[0] in ['/', '@']:
+                log.debug('about to connect unix socket %s', server)
+                reader, writer = await asyncio.wait_for(
+                        asyncio.open_unix_connection(path=server),
+                        timeout
+                        )
+            else:
+                log.debug('about to connect tcp socket %s:%s', *host)
+                reader, writer = await asyncio.wait_for(
+                        asyncio.open_connection(server, port),
+                        timeout
+                        )
             #log.debug('Connected to %s:%s', host[0], host[1])
             connection = Connection(self, host, reader, writer)
             await connection._hello()
@@ -134,11 +140,13 @@ class Connection(base):
         self._reader = reader
         self._writer = writer
         self._closed = False
+        self.auth = False
         self.in_use = False
+        self.version: str | None = None
 
     def __repr__(self):
         host = f"{self._host[0]}:{self._host[1]}"
-        return f"Connection<{host}>#{id(self)}"
+        return f"Connection<{host}>"
 
     @property
     def closed(self):
@@ -170,7 +178,6 @@ class Connection(base):
             raise MPDProtocolError(f'Got invalid MPD hello: "{rcv}"')
         log.debug('consumed hello prefix: %r', rcv)
         self.version = rcv.split('\n')[0][len(HELLO_PREFIX):]
-        log.info('protocol version: %s', self.version)
 
     def __getattr__(self, name: str) -> Any:
         """All unknown attributes are delegated to the reader and writer"""