commit 646bd2b9856e9b7a43e863ca5880ddd9ba846df3 Author: Damian Johnson atagar@torproject.org Date: Fri Aug 5 09:27:03 2016 -0700
Python's pwd module is unavailable on Windows
Our process module isn't intended to work on Windows, but turns out one of our imports raises an unexpected ImportError there breaking others...
https://trac.torproject.org/projects/tor/ticket/19823 --- stem/util/proc.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/stem/util/proc.py b/stem/util/proc.py index 2897242..0a310bf 100644 --- a/stem/util/proc.py +++ b/stem/util/proc.py @@ -50,7 +50,6 @@ future, use them at your own risk.** import base64 import os import platform -import pwd import socket import sys import time @@ -62,6 +61,13 @@ import stem.util.str_tools from stem.util import log
try: + # unavailable on windows (#19823) + import pwd + IS_PWD_AVAILABLE = True +except ImportError: + IS_PWD_AVAILABLE = False + +try: # added in python 3.2 from functools import lru_cache except ImportError: @@ -359,6 +365,9 @@ def connections(pid = None, user = None): parameter = 'all connections'
try: + if not IS_PWD_AVAILABLE: + raise IOError("This requires python's pwd module, which is unavailable on Windows.") + inodes = _inodes_for_sockets(pid) if pid else [] process_uid = pwd.getpwnam(user).pw_uid if user else None
tor-commits@lists.torproject.org