def init(): xconfig.IS_TEST = True xconfig.port = "1234" xconfig.DEV_MODE = True var_env = dict() xutils.remove_file("./testdata/data.db", hard = True) xconfig.init("./testdata") xtables.init() app = web.application(list(), var_env, autoreload=False) last_mapping = (r"/tools/(.*)", "handlers.tools.tools.handler") mgr = xmanager.init(app, var_env, last_mapping=last_mapping) mgr.reload() return app
def handle_args(): parser = argparse.ArgumentParser() parser.add_argument("--data", default="./data") parser.add_argument("--delay", default="0") parser.add_argument("--ringtone", default="no") parser.add_argument("--port", default="1234") parser.add_argument("--webbrowser", default="no") parser.add_argument("--debug", default="yes") parser.add_argument("--minthreads", default="10") parser.add_argument("--useCacheSearch", default="no") parser.add_argument("--useUrlencode", default="no") parser.add_argument("--devMode", default="no") parser.add_argument("--initScript", default=None) parser.add_argument("--master", default="no") parser.add_argument("--test", default="no") web.config.debug = False args = parser.parse_args(sys.argv[1:]) # 处理Data目录 xconfig.init(args.data) # 端口号 xconfig.PORT = args.port # 延迟加载,避免定时任务重复执行 delay = int(args.delay) time.sleep(delay) # 启动提醒 if args.ringtone == "yes": xutils.say("系统启动") if args.webbrowser == "yes": xconfig.OPEN_IN_BROWSER = True if args.debug == "yes": xconfig.DEBUG = True web.config.debug = True if args.useCacheSearch == "yes": xconfig.USE_CACHE_SEARCH = True if args.useUrlencode == "yes": xconfig.USE_URLENCODE = True if args.devMode == "yes": xconfig.DEV_MODE = True if args.test == "yes": xconfig.IS_TEST = True xconfig.minthreads = int(args.minthreads) xconfig.INIT_SCRIPT = args.initScript web.config.minthreads = xconfig.minthreads
def init(): global APP if APP is not None: return APP xconfig.IS_TEST = True xconfig.port = "1234" xconfig.DEV_MODE = True var_env = dict() xutils.remove_file("./testdata/data.db", hard=True) xconfig.init("./testdata") xtables.init() dbutil.init() APP = web.application(list(), var_env, autoreload=False) last_mapping = (r"/tools/(.*)", "handlers.tools.tools.handler") mgr = xmanager.init(APP, var_env, last_mapping=last_mapping) mgr.reload() # 加载template xtemplate.reload() return APP
def handle_args(): parser = argparse.ArgumentParser() parser.add_argument("--data", default="./data") parser.add_argument("--delay", default="0") parser.add_argument("--ringtone", default="no") parser.add_argument("--port", default=DEFAULT_PORT) parser.add_argument("--webbrowser", default="no") parser.add_argument("--debug", default="yes") parser.add_argument("--minthreads", default="10") parser.add_argument("--useCacheSearch", default="no") parser.add_argument("--useUrlencode", default="no") parser.add_argument("--devMode", default="no") parser.add_argument("--initScript", default="init.py") parser.add_argument("--master", default="no") parser.add_argument("--test", default="no") web.config.debug = False args = parser.parse_args(sys.argv[1:]) # 处理Data目录,创建各种目录 try: xconfig.init(args.data) except Exception as e: xconfig.errors.append("创建目录失败") xutils.print_exc() # 端口号 xconfig.PORT = args.port # 延迟加载,避免定时任务重复执行 delay = int(args.delay) time.sleep(delay) # 启动提醒 if args.ringtone == "yes": xutils.say("系统启动") if args.webbrowser == "yes": xconfig.OPEN_IN_BROWSER = True if args.debug == "yes": xconfig.DEBUG = True web.config.debug = True if args.useCacheSearch == "yes": xconfig.USE_CACHE_SEARCH = True if args.useUrlencode == "yes": xconfig.USE_URLENCODE = True if args.devMode == "yes": xconfig.DEV_MODE = True if args.test == "yes": xconfig.IS_TEST = True xconfig.MIN_THREADS = int(args.minthreads) xconfig.INIT_SCRIPT = args.initScript web.config.minthreads = xconfig.MIN_THREADS port = xconfig.PORT if port != DEFAULT_PORT: # 指定端口优先级最高 os.environ["PORT"] = port if not os.environ.get("PORT"): os.environ["PORT"] = port xconfig.set("port", port) xconfig.set("start_time", xutils.format_datetime())
# encoding=utf-8 import sys import os import time sys.path.insert(1, "lib") import unittest import xutils import xconfig import doctest from xutils import textutil, cacheutil xconfig.init("./testdata") @xutils.cache(prefix='fib') def fib(n): if n == 1 or n == 2: return 1 return fib(n - 1) + fib(n - 2) class TestMain(unittest.TestCase): def test_quote_unicode(self): result = xutils.quote_unicode("http://测试") self.assertEqual("http://%E6%B5%8B%E8%AF%95", result) result = xutils.quote_unicode("http://test/测试") self.assertEqual("http://test/%E6%B5%8B%E8%AF%95", result) r1 = xutils.quote_unicode("测试") r2 = xutils.quote_unicode(r1) self.assertEqual(r1, r2) # 重复encode是安全的