def index(self, request, **kwargs): date = datetime.now().isoformat() return TemplateResponse("index.pyml", context=dict(date=date)) @expose def shop(self, request, **kwargs): items = [ShopItem("SuperAwsome", "100"), ShopItem("Best product ever", "200"), ShopItem("I cannot believe it's not Live!", "100"),] return TemplateResponse("shop.pyml", context=dict(items=items)) if __name__ == "__main__": import sys from pyttp.wsgi import WSGIListener port = int(sys.argv[1]) fileserve_app = FileServer(os.path.join(os.path.dirname(__file__), "static")) controller_app = ControllerWSGIApp(RootController()) root_app = Router([('/static/.+', fileserve_app, 1), ('/.*', controller_app)]) httpd = WSGIListener(root_app, port, nThreads=4) httpd.serve()
parser.add_argument("-d", "--database", default="~/.dldb", help="database file, defaults to ~/.dldb") return parser if __name__ == "__main__": #conn = sqlite3.connect("/home/inex/dldb", check_same_thread=False) #conn.row_factory = sqlite3.Row #db.globalConnObj = conn parser = buildArgumentParser() args = parser.parse_args() DatabaseManager(os.path.expanduser(args.database)) manager = multiprocessing.Manager() infoDict = manager.dict() infoDict['timeLeft'] = 0 infoDict['downloadRate'] = 0 infoDict['averageDownloadRate'] = 0 infoDict['totalSize'] = 0 infoDict['transferedBytes'] = 0 dl = DownloadProcess(infoDict) dl.start() print "Background process started ... " print "Starting Web Server ... " http = WSGIListener(DownloadApplication(infoDict), args.port) http.serve() dl.join()