[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [stem/master] Update docstrings in stem/socket.py



commit 152497ffaff55edc956f7423ab03e90697a252d3
Author: Illia Volochii <illia.volochii@xxxxxxxxx>
Date:   Sun May 17 18:29:57 2020 +0300

    Update docstrings in stem/socket.py
---
 stem/socket.py | 54 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 28 insertions(+), 26 deletions(-)

diff --git a/stem/socket.py b/stem/socket.py
index e8ae492b..0feae831 100644
--- a/stem/socket.py
+++ b/stem/socket.py
@@ -15,31 +15,42 @@ Tor...
 
 ::
 
-  import stem
+  import asyncio
+  import sys
+
   import stem.connection
   import stem.socket
 
-  if __name__ == '__main__':
+  async def print_version() -> None:
     try:
       control_socket = stem.socket.ControlPort(port = 9051)
-      stem.connection.authenticate(control_socket)
+      await control_socket.connect()
+      await stem.connection.authenticate(control_socket)
     except stem.SocketError as exc:
-      print 'Unable to connect to tor on port 9051: %s' % exc
+      print(f'Unable to connect to tor on port 9051: {exc}')
       sys.exit(1)
     except stem.connection.AuthenticationFailure as exc:
-      print 'Unable to authenticate: %s' % exc
+      print(f'Unable to authenticate: {exc}')
       sys.exit(1)
 
-    print "Issuing 'GETINFO version' query...\\n"
-    control_socket.send('GETINFO version')
-    print control_socket.recv()
+    print("Issuing 'GETINFO version' query...\\n")
+    await control_socket.send('GETINFO version')
+    print(await control_socket.recv())
+
+
+  if __name__ == '__main__':
+    loop = asyncio.get_event_loop()
+    try:
+      loop.run_until_complete(print_version())
+    finally:
+      loop.close()
 
 ::
 
   % python example.py
   Issuing 'GETINFO version' query...
 
-  version=0.2.4.10-alpha-dev (git-8be6058d8f31e578)
+  version=0.4.3.5
   OK
 
 **Module Overview:**
@@ -66,6 +77,7 @@ Tor...
 
   send_message - Writes a message to a control socket.
   recv_message - Reads a ControlMessage from a control socket.
+  recv_message_from_bytes_io - Reads a ControlMessage from an I/O stream.
   send_formatting - Performs the formatting expected from sent messages.
 """
 
@@ -210,11 +222,7 @@ class BaseSocket(object):
 
   async def _send(self, message: Union[bytes, str], handler: Callable[[Union[socket.socket, ssl.SSLSocket], BinaryIO, Union[bytes, str]], None]) -> None:
     """
-    Send message in a thread safe manner. Handler is expected to be of the form...
-
-    ::
-
-      my_handler(socket, socket_file, message)
+    Send message in a thread safe manner.
     """
 
     with self._send_lock:
@@ -242,11 +250,7 @@ class BaseSocket(object):
 
   async def _recv(self, handler):
     """
-    Receives a message in a thread safe manner. Handler is expected to be of the form...
-
-    ::
-
-      my_handler(socket, socket_file)
+    Receives a message in a thread safe manner.
     """
 
     with self._recv_lock:
@@ -405,7 +409,7 @@ class ControlSocket(BaseSocket):
   receiving complete messages.
 
   Callers should not instantiate this class directly, but rather use subclasses
-  which are expected to implement the **_make_socket()** method.
+  which are expected to implement the **_open_connection()** method.
   """
 
   def __init__(self) -> None:
@@ -483,7 +487,7 @@ class ControlSocketFile(ControlSocket):
     """
     ControlSocketFile constructor.
 
-    :param socket_path: path where the control socket is located
+    :param path: path where the control socket is located
     """
 
     super(ControlSocketFile, self).__init__()
@@ -571,8 +575,7 @@ async def recv_message(reader: asyncio.StreamReader, arrived_at: Optional[float]
   Pulls from a control socket until we either have a complete message or
   encounter a problem.
 
-  :param control_file: file derived from the control socket (see the
-    socket's makefile() method for more information)
+  :param reader: reader object
 
   :returns: :class:`~stem.response.ControlMessage` read from the socket
 
@@ -692,11 +695,10 @@ async def recv_message(reader: asyncio.StreamReader, arrived_at: Optional[float]
 
 def recv_message_from_bytes_io(reader: asyncio.StreamReader, arrived_at: Optional[float] = None) -> 'stem.response.ControlMessage':
   """
-  Pulls from a control socket until we either have a complete message or
+  Pulls from an I/O stream until we either have a complete message or
   encounter a problem.
 
-  :param file control_file: file derived from the control socket (see the
-    socket's makefile() method for more information)
+  :param file reader: I/O stream
 
   :returns: :class:`~stem.response.ControlMessage` read from the socket
 



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits