[Python-modules-commits] [python-zeroconf] 04/08: Revert "Switch from netifaces to psutil"

Ruben Undheim rubund-guest at moszumanska.debian.org
Wed Apr 13 19:10:13 UTC 2016


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to branch upstream
in repository python-zeroconf.

commit 6349d197b442209331a0ff8676541967f7142991
Author: Jakub Stasiak <jakub at stasiak.at>
Date:   Tue Dec 1 09:55:50 2015 +0100

    Revert "Switch from netifaces to psutil"
    
    psutil doesn't seem to work on pypy3:
    
        Traceback (most recent call last):
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/failure.py", line 39, in runTest
            raise self.exc_val.with_traceback(self.tb)
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/loader.py", line 414, in loadTestsFromName
            addr.filename, addr.module)
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/importer.py", line 47, in importFromPath
            return self.importFromDir(dir_path, fqname)
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/importer.py", line 94, in importFromDir
            mod = load_module(part_fqname, fh, filename, desc)
          File "/home/travis/build/jstasiak/python-zeroconf/test_zeroconf.py", line 17, in <module>
            import zeroconf as r
          File "/home/travis/build/jstasiak/python-zeroconf/zeroconf.py", line 35, in <module>
            import psutil
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/__init__.py", line 62, in <module>
            from . import _pslinux as _psplatform
          File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_pslinux.py", line 23, in <module>
            from . import _psutil_linux as cext
        ImportError: unable to load extension module
            '/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_psutil_linux.pypy3-24.so':
            /home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_psutil_linux.pypy3-24.so: undefined symbol: PyModule_GetState
    
    Additionally netifaces turns out to be possible to install on Python 3,
    therefore making it necessary to investigate the original issue.
    
    This reverts commit dd907f2eed3768a3c1e3889af84b5dbeb700a1e7.
---
 requirements-dev.txt |  2 +-
 setup.py             |  2 +-
 zeroconf.py          | 11 +++++------
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/requirements-dev.txt b/requirements-dev.txt
index adce92b..bc92af5 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -7,8 +7,8 @@ flake8-blind-except
 # Upper bound because of https://github.com/public/flake8-import-order/issues/42
 flake8-import-order>=0.4.0, <0.6.0
 mock
+netifaces
 nose
 pep8==1.5.7
 pep8-naming
-psutil
 six
diff --git a/setup.py b/setup.py
index 8e43bc5..54e05e1 100755
--- a/setup.py
+++ b/setup.py
@@ -52,7 +52,7 @@ setup(
     ],
     install_requires=[
         'enum-compat',
-        'psutil',
+        'netifaces',
         'six',
     ],
 )
diff --git a/zeroconf.py b/zeroconf.py
index 9d82ea6..b5dfb95 100644
--- a/zeroconf.py
+++ b/zeroconf.py
@@ -32,7 +32,7 @@ import threading
 import time
 from functools import reduce
 
-import psutil
+import netifaces
 from six import binary_type, indexbytes, int2byte, iteritems, text_type
 from six.moves import xrange
 
@@ -1272,11 +1272,10 @@ HOST_ONLY_NETWORK_MASK = '255.255.255.255'
 
 def get_all_addresses(address_family):
     return list(set(
-        nic.address
-        for iface, nics in psutil.net_if_addrs().items()
-        for nic in nics
-        if nic.family == address_family and
-        nic.netmask != HOST_ONLY_NETWORK_MASK
+        addr['addr']
+        for iface in netifaces.interfaces()
+        for addr in netifaces.ifaddresses(iface).get(address_family, [])
+        if addr.get('netmask') != HOST_ONLY_NETWORK_MASK
     ))
 
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-zeroconf.git



More information about the Python-modules-commits mailing list