99# 
1010"""Generate requirements from `setup.py` and `requirements-devel.txt`.""" 
1111
12+ import  ast 
1213import  os 
1314import  sys 
14- import  ast 
1515
1616try :
1717    import  configparser 
1818except  ImportError :  # pragma: no cover 
1919    import  ConfigParser  as  configparser 
2020
21+ import  distutils .core 
22+ 
2123import  mock 
2224import  setuptools 
23- import  distutils .core 
2425from  commoncode .command  import  pushd 
2526from  packvers .requirements  import  Requirement 
2627
2728
2829def  minver_error (pkg_name ):
2930    """Report error about missing minimum version constraint and exit.""" 
3031    print (
31-         'ERROR: specify minimal version of "{0}" using ' 
32-         '">=" or "=="' .format (pkg_name ),
32+         'ERROR: specify minimal version of "{0}" using '  '">=" or "=="' .format (pkg_name ),
3333        file = sys .stderr ,
3434    )
3535    sys .exit (1 )
@@ -68,9 +68,7 @@ def iter_requirements(level, extras, setup_file):
6868                        asnames [(n .asname  if  n .asname  is  not None  else  n .name )] =  n .name 
6969            for  elem  in  ast .walk (node ):
7070                # for function imports, e.g. from setuptools import setup; setup() 
71-                 if  isinstance (elem , ast .ImportFrom ) and  "setup"  in  [
72-                     e .name  for  e  in  elem .names 
73-                 ]:
71+                 if  isinstance (elem , ast .ImportFrom ) and  "setup"  in  [e .name  for  e  in  elem .names ]:
7472                    imports .append (elem .module )
7573                # for module imports, e.g. import setuptools; setuptools.setup(...) 
7674                elif  (
@@ -93,16 +91,12 @@ def iter_requirements(level, extras, setup_file):
9391                    and  elem .value .func .attr  ==  "setup" 
9492                ):
9593                    name  =  (
96-                         str (elem .value .func .value .value .id )
97-                         +  "." 
98-                         +  str (elem .value .func .value .attr )
94+                         str (elem .value .func .value .value .id ) +  "."  +  str (elem .value .func .value .attr )
9995                    )
10096                    if  name  in  asnames .keys ():
10197                        name  =  asnames [name ]
10298                    imports .append (name )
103-             setup_providers  =  [
104-                 i  for  i  in  imports  if  i  in  ["distutils.core" , "setuptools" ]
105-             ]
99+             setup_providers  =  [i  for  i  in  imports  if  i  in  ["distutils.core" , "setuptools" ]]
106100            if  len (setup_providers ) ==  0 :
107101                print (
108102                    f"Warning: unable to recognize setup provider in { setup_file }  
@@ -195,9 +189,7 @@ def iter_requirements(level, extras, setup_file):
195189                result [pkg .name ] =  "{0}=={1}" .format (build_pkg_name (pkg ), specs ["~=" ])
196190            else :
197191                ver , _  =  os .path .splitext (specs ["~=" ])
198-                 result [pkg .name ] =  "{0}>={1},=={2}.*" .format (
199-                     build_pkg_name (pkg ), specs ["~=" ], ver 
200-                 )
192+                 result [pkg .name ] =  "{0}>={1},=={2}.*" .format (build_pkg_name (pkg ), specs ["~=" ], ver )
201193
202194        else :
203195            if  level  ==  "min" :
0 commit comments