@@ -26,6 +26,7 @@ def add_class_to_package(class_codes, class_names, module_name, package_dir):
26
26
27
27
28
28
def crawl_code_struct (code_struct , package_dir ):
29
+ subpackages = []
29
30
for k , v in code_struct .iteritems ():
30
31
if isinstance (v , str ) or isinstance (v , unicode ):
31
32
module_name = k .lower ()
@@ -36,6 +37,7 @@ def crawl_code_struct(code_struct, package_dir):
36
37
module_name = k .lower ()
37
38
add_class_to_package (v .values (), v .keys (), module_name , package_dir )
38
39
else :
40
+ subpackages .append (k .lower ())
39
41
f_i = open (os .path .join (package_dir , "__init__.py" ), 'a+' )
40
42
f_i .write ("from %s import *\n " % k .lower ())
41
43
f_i .close ()
@@ -44,6 +46,24 @@ def crawl_code_struct(code_struct, package_dir):
44
46
rmtree (new_pkg_dir )
45
47
os .mkdir (new_pkg_dir )
46
48
crawl_code_struct (v , new_pkg_dir )
49
+ if subpackages :
50
+ f = open (os .path .join (package_dir , "setup.py" ), 'w' )
51
+ f .write ("""# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
52
+ # vi: set ft=python sts=4 ts=4 sw=4 et:
53
+ def configuration(parent_package='',top_path=None):
54
+ from numpy.distutils.misc_util import Configuration
55
+
56
+ config = Configuration('{pkg_name}', parent_package, top_path)
57
+
58
+ {sub_pks}
59
+
60
+ return config
61
+
62
+ if __name__ == '__main__':
63
+ from numpy.distutils.core import setup
64
+ setup(**configuration(top_path='').todict())
65
+ """ .format (pkg_name = package_dir .split ("/" )[- 1 ], sub_pks = "\n " .join (["config.add_data_dir('%s')" % sub_pkg for sub_pkg in subpackages ])))
66
+ f .close ()
47
67
48
68
49
69
def generate_all_classes (modules_list = [], launcher = []):
0 commit comments