360极速浏览器X,打开别的版本的面板都没有问题。
回收站为什么会有/www/.Recycle_bin和/.Recycle_bin两个目录?
删除/www/.Recycle_bin面板会自动生成。
删除/.Recycle_bin面板不会自动生成。
但是在面板里面删除文件时,会自动创建,并把文件移动到/.Recycle_bin里。
找了找目录处理逻辑好像是这里,我不太懂py,您那边测试面板的版本和我的这部分代码一致吗?
/www/server/panel/class/public.py
- def get_recycle_bin_path(path):
- '''
- @name 获取指定文件或目录的回收站路径
- @author hwliang<2022-03-30>
- @param path<string> 文件或目录路径
- @return string
- '''
- mountpoint = get_path_in_mountpoint(path)
- recycle_bin_path = '{}/.Recycle_bin/'.format(mountpoint)
- try:
- if not os.path.exists(recycle_bin_path):
- os.mkdir(recycle_bin_path,384)
- except:
- return '/www/.Recycle_bin/'
- return recycle_bin_path
- def get_recycle_bin_list():
- '''
- @name 获取回收站列表
- @author hwliang<2022-03-30>
- @return list
- '''
- # 旧的回收站重命名为.Recycle_bin
- default_path = '/www/.Recycle_bin'
- default_path_src = '/www/Recycle_bin'
- if os.path.exists(default_path_src) and not os.path.exists(default_path):
- os.rename(default_path_src,default_path)
- if not os.path.exists(default_path):
- os.makedirs(default_path,384)
- # 获取回收站列表
- recycle_bin_list = []
- for mountpoint in get_mountpoint_list():
- recycle_bin_path = '{}.Recycle_bin/'.format(mountpoint)
- try:
- if not os.path.exists(recycle_bin_path):
- os.mkdir(recycle_bin_path,384)
- recycle_bin_list.append(recycle_bin_path)
- except:
- continue
- # 包含默认回收站路径?
- if not default_path + '/' in recycle_bin_list:
- recycle_bin_list.append(default_path + '/')
- return recycle_bin_list
复制代码 |