def handle(self, input): # 输入框的行数 watch_clipboard() self.rows = 0 self.btn_text = '添加' fpath = get_current_log_path() return fsutil.readfile(fpath, raise_error=False)
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
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)
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')
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")
# -*- 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) # 有些需要补全后缀等操作