[tor-commits] [stem/master] Adding is_localhost() to the BaseController

atagar at torproject.org atagar at torproject.org
Tue Sep 9 02:33:36 UTC 2014


commit beaae677118b6549ee959ba699f8a4bf664e2bb6
Author: Damian Johnson <atagar at torproject.org>
Date:   Mon Sep 8 19:31:01 2014 -0700

    Adding is_localhost() to the BaseController
    
    Adding our socket's is_localhost() method to the BaseController.
---
 stem/control.py |   22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/stem/control.py b/stem/control.py
index c9a9a5f..3c26666 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -128,6 +128,7 @@ If you're fine with allowing your script to raise exceptions then this can be mo
   BaseController - Base controller class asynchronous message handling
     |- msg - communicates with the tor process
     |- is_alive - reports if our connection to tor is open or closed
+    |- is_localhost - returns if the connection is for the local system or not
     |- connection_time - time when we last connected or disconnected
     |- is_authenticated - checks if we're authenticated to tor
     |- connect - connects or reconnects to tor
@@ -479,6 +480,17 @@ class BaseController(object):
 
     return self._socket.is_alive()
 
+  def is_localhost(self):
+    """
+    Returns if the connection is for the local system or not.
+
+    .. versionadded:: 1.3.0
+
+    :returns: **bool** that's **True** if the connection is for the local host and **False** otherwise
+    """
+
+    return self._socket.is_localhost()
+
   def connection_time(self):
     """
     Provides the unix timestamp for when our socket was either connected or
@@ -1235,7 +1247,7 @@ class Controller(BaseController):
     if not user:
       user = self.get_info('process/user', None)
 
-    if not user and self.get_socket().is_localhost():
+    if not user and self.is_localhost():
       pid = self.get_pid(None)
 
       if pid:
@@ -1245,7 +1257,7 @@ class Controller(BaseController):
       self._set_cache({'user': user})
       return user
     elif default == UNDEFINED:
-      if self.get_socket().is_localhost():
+      if self.is_localhost():
         raise ValueError("Unable to resolve tor's user")
       else:
         raise ValueError("Tor isn't running locally")
@@ -1276,7 +1288,7 @@ class Controller(BaseController):
       if getinfo_pid and getinfo_pid.isdigit():
         pid = int(getinfo_pid)
 
-    if not pid and self.get_socket().is_localhost():
+    if not pid and self.is_localhost():
       pid_file_path = self.get_conf('PidFile', None)
 
       if pid_file_path is not None:
@@ -1301,7 +1313,7 @@ class Controller(BaseController):
       self._set_cache({'pid': pid})
       return pid
     elif default == UNDEFINED:
-      if self.get_socket().is_localhost():
+      if self.is_localhost():
         raise ValueError("Unable to resolve tor's pid")
       else:
         raise ValueError("Tor isn't running locally")
@@ -2655,7 +2667,7 @@ class Controller(BaseController):
 
     owning_pid = self.get_conf('__OwningControllerProcess', None)
 
-    if owning_pid == str(os.getpid()) and self.get_socket().is_localhost():
+    if owning_pid == str(os.getpid()) and self.is_localhost():
       response = self.msg('TAKEOWNERSHIP')
       stem.response.convert('SINGLELINE', response)
 



More information about the tor-commits mailing list