-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathselectfile.py
57 lines (46 loc) · 2.15 KB
/
selectfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'''
Author: Paoger
Date: 2024-01-19 15:58:11
LastEditors: Paoger
LastEditTime: 2024-01-20 18:29:30
Description:
Copyright (c) 2024 by Paoger, All Rights Reserved.
'''
import os
import glob
import binascii
from treelib import Tree
import uuid
import datetime
from kivy.logger import Logger
from kivymd.app import MDApp
from onelinelistfiles import OneLineListFiles
from onelinelistpathwithfile import OneLineListPathWithFile
#切换到上一级目录
def toUperLevelDirWithFile(curDir):
Logger.debug(f"X-Chess selectfile:toUperLevelDir {curDir=}")
app = MDApp.get_running_app()
app.root.ids['id_screenselectfile'].ids['id_btn_back'].disabled = True
upDir = os.path.dirname(curDir)
Logger.debug(f"X-Chess selectfile:toUperLevelDir {upDir=}")
app.root.ids['id_screenselectfile'].ids['id_cur_path'].text = upDir
seachdir = app.root.ids['id_screenselectfile'].ids['id_cur_path'].text
Logger.debug(f"X-Chess X-ChessApp:open_XQFFile {seachdir=}")
seachdir = os.path.join(seachdir,'*')
Logger.debug(f"X-Chess X-ChessApp:open_XQFFile {seachdir=}")
subdirs = [name for name in glob.glob(seachdir) if os.path.isdir(name)]
app.root.ids['id_screenselectfile'].ids.id_dir_list.clear_widgets()
for sd in subdirs:
last_level_dir = os.path.basename(sd)
app.root.ids['id_screenselectfile'].ids.id_dir_list.add_widget(OneLineListPathWithFile(text=f"{last_level_dir}",font_style="Overline"))
seachdir = app.root.ids['id_screenselectfile'].ids['id_cur_path'].text
filetype = app.root.ids['id_screenselectfile'].ids['id_filetype'].text
filetype = filetype.split('.')
seachdir = os.path.join(seachdir,f'*.{filetype[1]}')
Logger.debug(f"X-Chess X-ChessApp:open_XQFFile {seachdir=}")
files = [name for name in glob.glob(seachdir) if os.path.isfile(name)]
app.root.ids['id_screenselectfile'].ids.id_file_list.clear_widgets()
for file in files:
filename = os.path.basename(file)
app.root.ids['id_screenselectfile'].ids.id_file_list.add_widget(OneLineListFiles(text=f"{filename}",font_style="Overline"))
app.root.ids['id_screenselectfile'].ids['id_btn_back'].disabled = False