Move box generators into boxes.generators sub module

This commit is contained in:
Florian Festi 2016-03-25 17:49:33 +01:00
parent be6b02fe6f
commit 70bb1bf5af
20 changed files with 45 additions and 13 deletions

View File

@ -0,0 +1,24 @@
__all__ = [
"box",
"box2",
"box3",
"castle",
"drillbox",
"flexbox",
"flexbox2",
"flexbox3",
"flextest",
"folder",
"lamp",
"magazinefile",
"silverwarebox",
"trayinsert",
"traylayout",
"typetray",
]
def getAllBoxGenerators():
import importlib
return {name: importlib.import_module("boxes.generators." + name)
for name in __all__}

View File

@ -5,7 +5,13 @@ import os
import sys import sys
from pprint import pprint from pprint import pprint
import boxes try:
import boxes
except ImportError:
sys.path.append(os.path.dirname(__file__) + "/..")
import boxes
import boxes.generators
def printusage(): def printusage():
print("""Usage: print("""Usage:
@ -15,15 +21,8 @@ boxes [NAME] [options]
""") """)
def main(): def main():
modules = {} modules = boxes.generators.getAllBoxGenerators()
for module in os.listdir(os.path.dirname(__file__)):
if module in ('__init__.py', 'boxes.py', 'bserver.py') or module[-3:] != '.py':
continue
name = module[:-3]
module = __import__(name, locals(), globals())
modules[name] = module
#pprint(modules)
if len(sys.argv) == 1: if len(sys.argv) == 1:
printusage() printusage()
elif sys.argv[1] in modules: elif sys.argv[1] in modules:
@ -35,5 +34,7 @@ def main():
print("Available generators:") print("Available generators:")
for name in sorted(modules): for name in sorted(modules):
print(" * ", name) print(" * ", name)
else:
print("unknown sub command")
main() main()

View File

@ -1,6 +1,5 @@
#!/usr/bin/python3 #!/usr/bin/python3
import boxes
import sys import sys
import argparse import argparse
import cgi import cgi
@ -12,8 +11,16 @@ from wsgiref.util import setup_testing_defaults
from wsgiref.simple_server import make_server from wsgiref.simple_server import make_server
import wsgiref.util import wsgiref.util
import box, box2, box3, drillbox, flexbox, flexbox2, flexbox3, flextest, folder try:
import magazinefile, trayinsert, traylayout, typetray, silverwarebox import boxes.generators
except ImportError:
sys.path.append(os.path.dirname(__file__) + "/..")
import boxes.generators
from boxes.generators import box, box2, box3, drillbox
from boxes.generators import flexbox, flexbox2, flexbox3, flextest, folder
from boxes.generators import magazinefile, trayinsert, traylayout, typetray, silverwarebox
class ArgumentParserError(Exception): pass class ArgumentParserError(Exception): pass