Exemplo n.º 1
0
 def handle(self, input):
     # 输入框的行数
     watch_clipboard()
     self.rows = 0
     self.btn_text = '添加'
     fpath = get_current_log_path()
     return fsutil.readfile(fpath, raise_error=False)
Exemplo n.º 2
0
def load_file_type_config0(fpath):
    from xutils import fsutil, textutil
    text = fsutil.readfile(fpath)
    ext_set = hashset()
    ext_type_dict = textutil.parse_config_text(text, 'dict')
    for ext in ext_type_dict:
        ext_set.add(ext)
    return ext_set
Exemplo n.º 3
0
    def test_fsutil_read(self):
        test_content = "Test"
        fpath = get_tmp_fpath()
        fsutil.writefile(fpath, test_content)
        encoding = fsutil.detect_encoding(fpath)
        content = fsutil.readfile(fpath)
        lines = fsutil.readlines(fpath)

        self.assertEqual("utf-8", encoding)
        self.assertEqual("Test", content)
        self.assertEqual(["Test"], lines)
Exemplo n.º 4
0
def load_config_as_dict(fpath):
    from xutils import fsutil, textutil
    text = fsutil.readfile(fpath)
    ext_set = hashset()
    return textutil.parse_config_text(text, 'dict')
Exemplo n.º 5
0
def init(path=DATA_DIR):
    """初始化系统配置项,启动时必须调用"""
    global DATA_PATH
    global DATA_DIR
    global DB_PATH
    global DB_FILE
    global DICT_FILE
    global RECORD_FILE
    global BACKUP_DIR
    global UPLOAD_DIR
    global APP_DIR
    global TMP_DIR
    global DB_DIR
    global SCRIPTS_DIR
    global COMMANDS_DIR
    global PLUGINS_DIR
    global CODE_ZIP
    global DATA_ZIP
    global TRASH_DIR
    global LOG_PATH
    global LOG_DIR
    global LOG_FILE
    global STORAGE_DIR
    global ETC_DIR
    global PLUGIN_TEMPLATE

    DATA_PATH = os.path.abspath(path)
    DATA_DIR = os.path.abspath(path)
    # 数据库地址
    DB_DIR = os.path.join(DATA_DIR, "db")
    DB_PATH = os.path.join(DATA_DIR, "data.db")
    DICT_FILE = os.path.join(DATA_DIR, "dictionary.db")
    RECORD_FILE = os.path.join(DATA_DIR, "record.db")

    # 备份数据地址
    BACKUP_DIR = os.path.join(DATA_DIR, "backup")
    # APP地址
    UPLOAD_DIR = os.path.join(DATA_DIR, "files")
    APP_DIR = os.path.join(DATA_DIR, "app")
    TMP_DIR = os.path.join(DATA_DIR, "tmp")
    # 脚本的地址
    SCRIPTS_DIR = os.path.join(DATA_DIR, "scripts")
    COMMANDS_DIR = os.path.join(SCRIPTS_DIR, "commands")
    PLUGINS_DIR = os.path.join(SCRIPTS_DIR, "plugins")
    CODE_ZIP = os.path.join(DATA_DIR, "code.zip")
    DATA_ZIP = os.path.join(DATA_DIR, "data.zip")
    TRASH_DIR = os.path.join(DATA_DIR, "trash")
    LOG_PATH = os.path.join(DATA_DIR, "xnote.log")
    STORAGE_DIR = os.path.join(DATA_DIR, "storage")
    ETC_DIR = os.path.join(DATA_DIR, "storage")
    LOG_DIR = os.path.join(DATA_DIR, "log")
    DB_FILE = DB_PATH
    LOG_FILE = LOG_PATH
    FILE_EXT_PATH = os.path.join(CONFIG_DIR, "file", "type.properties")

    # 一级目录
    makedirs(DATA_DIR)
    makedirs(UPLOAD_DIR)
    makedirs(TMP_DIR)
    makedirs(SCRIPTS_DIR)
    makedirs(TRASH_DIR)
    makedirs(STORAGE_DIR)
    makedirs(ETC_DIR)
    makedirs(LOG_DIR)
    makedirs(DB_DIR)

    # 二级目录
    makedirs(COMMANDS_DIR)
    makedirs(PLUGINS_DIR)

    # 加载文件后缀配置
    load_file_type_config()

    from xutils import fsutil
    PLUGIN_TEMPLATE = fsutil.readfile("./config/template/plugin.tpl")
Exemplo n.º 6
0
# -*- coding:utf-8 -*-
# @author xupingmao <*****@*****.**>
# @since 2020/01/28 13:27:08
# @modified 2020/10/07 17:09:47
"""创建文件的选项背后的服务,包括创建文件、文件夹、插件等等"""

import os
import xauth
import xutils
import xconfig
from xutils import fsutil

PLUGIN_TEMPLATE = fsutil.readfile("./config/template/plugin.tpl")
FORM_PLUGIN_TEMPLATE = fsutil.readfile("./config/template/form_plugin.tpl")


class BaseAddFileHandler:
    def handle_path(self, path):
        return path

    @xauth.login_required("admin")
    def POST(self):
        path = xutils.get_argument("path", "")
        filename = xutils.get_argument("filename", "")
        if path == "":
            return dict(code="fail", message="path is empty")
        if xconfig.USE_URLENCODE:
            filename = xutils.quote_unicode(filename)
        newpath = os.path.join(path, filename)

        # 有些需要补全后缀等操作