from os import listdir import tornado.gen import tornado.httpserver import tornado.ioloop import tornado.web import tornado.netutil def make_app(): routes = [] def get_files(dir): return [d for d in listdir(dir) if not d.startswith("_")] def map_out(dir): apis = get_files(dir) for api in apis: endpoint = "" if api.endswith(".py"): api = api.rstrip(".py") routes.append( { "/%s/%s" % (dir, api): __import__("%s.%s" % (dir.replace("/", "."), api), fromlist=[""]) }) else: map_out("%s/%s" % (dir, api)) map_out("api") return routes r"/api/%s/%s" return tornado.web.Application(routes)