コード例 #1
0
 def POST(self):
     name = xutils.get_argument("name")
     result = xauth.add_user(name, textutil.random_string(6))
     if result["code"] == "success":
         # 重新加载系统
         xmanager.reload()
     return result
コード例 #2
0
    def POST(self):
        key   = xutils.get_argument("key")
        value = xutils.get_argument("value")
        type  = xutils.get_argument("type")
        xutils.info("UpdateConfig", "%s,%s,%s" % (type, key, value))

        if key == "BASE_TEMPLATE":
            xmanager.reload()
        if key in ("FS_HIDE_FILES", "DEBUG_HTML_BOX", "RECORD_LOCATION"):
            value = value.lower() in ("true", "yes", "on")
        if key == "DEBUG":
            setattr(xconfig, key, value == "True")
            web.config.debug = xconfig.DEBUG
        if key in ("RECENT_SEARCH_LIMIT", "RECENT_SIZE", "PAGE_SIZE", "TRASH_EXPIRE"):
            value = int(value)

        if type == "int":
            value = int(value)
        if type == "bool":
            value = value.lower() in ("true", "yes", "on")

        if key in USER_CONFIG_KEY_SET:
            set_user_config(key, value)
        else:
            set_sys_config(key, value)
            
        return dict(code="success")
コード例 #3
0
 def POST(self):
     name = xutils.get_argument("name")
     password = xutils.get_argument("password")
     error = xauth.add_user(name, password)
     added = xauth.get_user(name)
     # 先暴力解决
     xmanager.reload()
     raise web.seeother("/system/user?name=%s" % name)
コード例 #4
0
ファイル: system.py プロジェクト: black0592/xnote
 def POST(self):
     key = xutils.get_argument("key")
     value = xutils.get_argument("value")
     setattr(xconfig, key, value)
     if key == "BASE_TEMPLATE":
         xmanager.reload()
     if key == "FS_HIDE_FILES":
         setattr(xconfig, key, value == "True")
     return dict(code="success")
コード例 #5
0
ファイル: user.py プロジェクト: gotonking/miniNote
 def POST(self):
     name = xutils.get_argument("name")
     error = xauth.add_user(name, textutil.random_string(6))
     if error is None:
         # 先暴力解决
         xmanager.reload()
         return dict(code="success")
     else:
         return error
コード例 #6
0
 def POST(self):
     name = xutils.get_argument("name")
     password = xutils.get_argument("password")
     xauth.add_user(name, password)
     added = xauth.get_user(name)
     xutils.log("Add user {}", added)
     # 先暴力解决
     xmanager.reload()
     raise web.seeother("/system/user?name=" + name)
コード例 #7
0
 def POST(self):
     name     = xutils.get_argument("name")
     password = xutils.get_argument("password")
     xauth.add_user(name, password)
     added = xauth.get_user(name)
     xutils.log("Add user {}", added)
     # 先暴力解决
     xmanager.reload()
     return self.GET()
コード例 #8
0
 def POST(self):
     args = web.input()
     name = args.name
     password = args.password
     xauth.add_user(name, password)
     added = xauth.get_user(name)
     print(" -- User -- ", added)
     # 先暴力解决
     xmanager.reload()
     return self.GET()
コード例 #9
0
    def POST(self):
        data_dir = xutils.get_argument("DATA_DIR")
        xconfig.set_data_path(data_dir)

        set_xconfig_bool("IS_TEST")
        set_xconfig_bool("OPEN_PROFILE")

        # 先暴力解决
        xmanager.reload()
        raise web.seeother("/system/sys_var_admin")
コード例 #10
0
def main():
    global app
    handle_args()
    port = config.PORT
    if port != DEFAULT_PORT:
        # 指定端口优先级最高
        os.environ["PORT"] = port

    if not os.environ.get("PORT"):
        os.environ["PORT"] = port

    var_env = dict()
    config.set("port", port)
    config.set("start_time", xutils.format_datetime())
    # 关闭autoreload使用自己实现的版本
    app = web.application(list(), var_env, autoreload=False)
    # 初始化数据库
    xtables.init()
    # 加载持久化的缓存
    xutils.cacheutil.load_dump()

    # 最后的mapping,用于匹配优先级较低的处理器
    last_mapping = (r"/tools/(.*)", "handlers.tools.tools.handler")
    manager = xmanager.init(app, var_env, last_mapping = last_mapping)
    xmanager.reload()

    def reload_callback():
        # 重新加载handlers目录下的所有模块
        xmanager.reload()
        autoreload_thread.clear_watched_files()
        autoreload_thread.watch_dir(xconfig.HANDLERS_DIR, recursive=True)

    # autoreload just reload models
    autoreload_thread = AutoReloadThread(reload_callback)
    autoreload_thread.watch_dir(xconfig.HANDLERS_DIR, recursive=True)
    autoreload_thread.watch_file("xtemplate.py")
    autoreload_thread.start()
    # 启动定时任务检查
    manager.run_task()

    # 注册信号响应
    # 键盘终止信号
    signal.signal(signal.SIGINT, handle_signal)
    # kill终止信号
    signal.signal(signal.SIGTERM, handle_signal)
    # 时钟信号
    # signal.signal(signal.SIGALRM, handle_signal)
    # signal.alarm(5)

    # 启动打开浏览器选项
    if xconfig.OPEN_IN_BROWSER:
        webbrowser.open("http://localhost:%s/" % xconfig.PORT)

    app.run()
コード例 #11
0
def main():
    global app

    # 处理初始化参数
    handle_args()
    # 初始化日志
    xutils.init_logger()
    # 初始化数据库
    try_init_db()
    # 加载缓存
    try_load_cache()

    # 关闭autoreload使用自己实现的版本
    var_env = dict()
    app = web.application(list(), var_env, autoreload=False)

    # 最后的mapping,用于匹配优先级较低的处理器
    last_mapping = (r"/tools/(.*)", "handlers.tools.tools.handler")
    manager = xmanager.init(app, var_env, last_mapping = last_mapping)
    xmanager.reload()

    # 重新加载template
    xtemplate.reload()

    def reload_callback():
        # 重新加载handlers目录下的所有模块
        xmanager.reload()
        autoreload_thread.clear_watched_files()
        autoreload_thread.watch_dir(xconfig.HANDLERS_DIR, recursive=True)

    # autoreload just reload models
    autoreload_thread = AutoReloadThread(reload_callback)
    autoreload_thread.watch_dir(xconfig.HANDLERS_DIR, recursive=True)
    autoreload_thread.watch_file("core/xtemplate.py")
    autoreload_thread.start()
    # 启动定时任务检查
    manager.run_task()

    # 注册信号响应
    # 键盘终止信号
    signal.signal(signal.SIGINT, handle_signal)
    # kill终止信号
    signal.signal(signal.SIGTERM, handle_signal)
    # 时钟信号
    # signal.signal(signal.SIGALRM, handle_signal)
    # signal.alarm(5)

    # 启动打开浏览器选项
    if xconfig.OPEN_IN_BROWSER:
        webbrowser.open("http://localhost:%s/" % xconfig.PORT)

    app.run()
コード例 #12
0
def main():
    global app

    # 处理初始化参数
    handle_args()
    # 初始化日志
    xutils.init_logger()
    # 初始化数据库
    try_init_db()
    # 加载缓存
    try_load_cache()

    # 关闭autoreload使用自己实现的版本
    var_env = dict()
    app = web.application(list(), var_env, autoreload=False)

    # 最后的mapping,用于匹配优先级较低的处理器
    last_mapping = (r"/tools/(.*)", "handlers.tools.tools.handler")
    manager = xmanager.init(app, var_env, last_mapping=last_mapping)
    xmanager.reload()

    # 重新加载template
    xtemplate.reload()

    # 文件修改检测
    init_autoreload()

    # 启动定时任务检查
    manager.run_task()

    # 注册信号响应
    # 键盘终止信号
    signal.signal(signal.SIGINT, handle_signal)
    # kill终止信号
    signal.signal(signal.SIGTERM, handle_signal)
    # 时钟信号
    # signal.signal(signal.SIGALRM, handle_signal)
    # signal.alarm(5)

    # 启动打开浏览器选项
    if xconfig.OPEN_IN_BROWSER:
        webbrowser.open("http://localhost:%s/" % xconfig.PORT)

    # 记录已经启动
    xconfig.mark_started()

    # 监听端口
    app.run()
コード例 #13
0
    def POST(self):
        key = xutils.get_argument("key")
        value = xutils.get_argument("value")

        if key == "BASE_TEMPLATE":
            xmanager.reload()
        if key in ("FS_HIDE_FILES", "DEBUG_HTML_BOX"):
            value = value.lower() in ("true", "yes", "on")
        if key == "DEBUG":
            setattr(xconfig, key, value == "True")
            web.config.debug = xconfig.DEBUG
        if key in ("RECENT_SEARCH_LIMIT", "RECENT_SIZE", "PAGE_SIZE"):
            value = int(value)
        if key == "LANG":
            web.setcookie("lang", value)

        setattr(xconfig, key, value)
        cacheutil.hset('sys.config', key, value)
        return dict(code="success")
コード例 #14
0
 def reload_callback():
     # 重新加载handlers目录下的所有模块
     xmanager.reload()
     autoreload_thread.clear_watched_files()
     autoreload_thread.watch_dir(xconfig.HANDLERS_DIR, recursive=True)
コード例 #15
0
ファイル: system.py プロジェクト: black0592/xnote
 def GET(self):
     xmanager.reload()
     import web
     raise web.seeother("/")