summaryrefslogtreecommitdiff
path: root/setuptools/depends.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-09-27 14:24:22 -0500
committerJason R. Coombs <jaraco@jaraco.com>2016-09-27 14:24:22 -0500
commit66a6724da8eda3336643dee086da2a3495e6422a (patch)
tree64043e9782491bde3a3a9ae2314cc59451a6c9c0 /setuptools/depends.py
parentdf3905616933c90af95e99f705b800a2f5c1c921 (diff)
parent35ea365b50bd1a64375fdbcce187affab22af3b7 (diff)
downloadpython-setuptools-git-setuptools-scm.tar.gz
Merge with mastersetuptools-scm
Diffstat (limited to 'setuptools/depends.py')
-rw-r--r--setuptools/depends.py42
1 files changed, 21 insertions, 21 deletions
diff --git a/setuptools/depends.py b/setuptools/depends.py
index 9f7c9a35..d5a344ad 100644
--- a/setuptools/depends.py
+++ b/setuptools/depends.py
@@ -1,8 +1,8 @@
import sys
import imp
import marshal
-from imp import PKG_DIRECTORY, PY_COMPILED, PY_SOURCE, PY_FROZEN
from distutils.version import StrictVersion
+from imp import PKG_DIRECTORY, PY_COMPILED, PY_SOURCE, PY_FROZEN
from setuptools.extern import six
@@ -10,6 +10,7 @@ __all__ = [
'Require', 'find_module', 'get_module_constant', 'extract_constant'
]
+
class Require:
"""A prerequisite to building or installing a distribution"""
@@ -30,7 +31,7 @@ class Require:
def full_name(self):
"""Return full package/distribution name, w/version"""
if self.requested_version is not None:
- return '%s-%s' % (self.name,self.requested_version)
+ return '%s-%s' % (self.name, self.requested_version)
return self.name
def version_ok(self, version):
@@ -39,7 +40,6 @@ class Require:
str(version) != "unknown" and version >= self.requested_version
def get_version(self, paths=None, default="unknown"):
-
"""Get version number of installed module, 'None', or 'default'
Search 'paths' for module. If not found, return 'None'. If found,
@@ -52,8 +52,9 @@ class Require:
if self.attribute is None:
try:
- f,p,i = find_module(self.module,paths)
- if f: f.close()
+ f, p, i = find_module(self.module, paths)
+ if f:
+ f.close()
return default
except ImportError:
return None
@@ -78,28 +79,27 @@ class Require:
def _iter_code(code):
-
"""Yield '(op,arg)' pair for each operation in code object 'code'"""
from array import array
from dis import HAVE_ARGUMENT, EXTENDED_ARG
- bytes = array('b',code.co_code)
+ bytes = array('b', code.co_code)
eof = len(code.co_code)
ptr = 0
extended_arg = 0
- while ptr<eof:
+ while ptr < eof:
op = bytes[ptr]
- if op>=HAVE_ARGUMENT:
+ if op >= HAVE_ARGUMENT:
- arg = bytes[ptr+1] + bytes[ptr+2]*256 + extended_arg
+ arg = bytes[ptr + 1] + bytes[ptr + 2] * 256 + extended_arg
ptr += 3
- if op==EXTENDED_ARG:
+ if op == EXTENDED_ARG:
long_type = six.integer_types[-1]
extended_arg = arg * long_type(65536)
continue
@@ -108,7 +108,7 @@ def _iter_code(code):
arg = None
ptr += 1
- yield op,arg
+ yield op, arg
def find_module(module, paths=None):
@@ -118,20 +118,19 @@ def find_module(module, paths=None):
while parts:
part = parts.pop(0)
- f, path, (suffix,mode,kind) = info = imp.find_module(part, paths)
+ f, path, (suffix, mode, kind) = info = imp.find_module(part, paths)
- if kind==PKG_DIRECTORY:
+ if kind == PKG_DIRECTORY:
parts = parts or ['__init__']
paths = [path]
elif parts:
- raise ImportError("Can't find %r in %s" % (parts,module))
+ raise ImportError("Can't find %r in %s" % (parts, module))
return info
def get_module_constant(module, symbol, default=-1, paths=None):
-
"""Find 'module' by searching 'paths', and extract 'symbol'
Return 'None' if 'module' does not exist on 'paths', or it does not define
@@ -145,12 +144,12 @@ def get_module_constant(module, symbol, default=-1, paths=None):
return None
try:
- if kind==PY_COMPILED:
+ if kind == PY_COMPILED:
f.read(8) # skip magic & date
code = marshal.load(f)
- elif kind==PY_FROZEN:
+ elif kind == PY_FROZEN:
code = imp.get_frozen_object(module)
- elif kind==PY_SOURCE:
+ elif kind == PY_SOURCE:
code = compile(f.read(), path, 'exec')
else:
# Not something we can parse; we'll have to import it. :(
@@ -192,9 +191,9 @@ def extract_constant(code, symbol, default=-1):
for op, arg in _iter_code(code):
- if op==LOAD_CONST:
+ if op == LOAD_CONST:
const = code.co_consts[arg]
- elif arg==name_idx and (op==STORE_NAME or op==STORE_GLOBAL):
+ elif arg == name_idx and (op == STORE_NAME or op == STORE_GLOBAL):
return const
else:
const = default
@@ -214,4 +213,5 @@ def _update_globals():
del globals()[name]
__all__.remove(name)
+
_update_globals()