diff --git a/get115list.exe b/get115list.exe index 75238d6..169a944 100644 Binary files a/get115list.exe and b/get115list.exe differ diff --git a/get115list.py b/get115list.py index 5323495..f376cc1 100644 --- a/get115list.py +++ b/get115list.py @@ -6,15 +6,19 @@ from p115 import P115Client, P115FileSystem import time import traceback import os +import re count=0 def walk_dir(fs,f,replaceroot): dirlist=list() file_list = fs.listdir_attr() + filetype_re=re.compile(r'\.(png|jpg|jpeg|bmp|gif|doc|nfo|flac|mp3|wma|ape|cue|wav|dst|dff|dts|ac3|eac3|txt)$') for file_obj in file_list: if not file_obj.is_directory: path = file_obj.path + if filetype_re.search(path) != None or "BDMV" in path: + continue paths = path.split("/") if replaceroot!="": if len(paths)>=3: @@ -27,10 +31,10 @@ def walk_dir(fs,f,replaceroot): dirlist.append(file_obj.path) for dirItem in dirlist: fs.chdir(dirItem) - global count - count=count+1 - if count%4==0: - time.sleep(1) + # global count + # count=count+1 + # if count%4==0: + # time.sleep(1) walk_dir(fs,f,replaceroot) return diff --git a/getwebdavlist.exe b/getwebdavlist.exe index 83c32c7..83b9722 100644 Binary files a/getwebdavlist.exe and b/getwebdavlist.exe differ diff --git a/getwebdavlist.py b/getwebdavlist.py index f1c26eb..ef7e0af 100644 --- a/getwebdavlist.py +++ b/getwebdavlist.py @@ -5,15 +5,19 @@ import argparse from webdav3.client import Client import os import time +import re count=0 def walk(client, current_path="/", output_file=None, replaceroot=None): items=client.list(current_path) + filetype_re=re.compile(r'\.(png|jpg|jpeg|bmp|gif|doc|nfo|flac|mp3|wma|ape|cue|wav|dst|dff|dts|ac3|eac3|txt)$') + # print(items) for item in items[1:]: full_path = f"{current_path}/{item}".replace("//", "/") try: - is_dir = client.is_dir(full_path) + # is_dir = client.is_dir(full_path) + is_dir = full_path.endswith("/") except: continue if is_dir: # 判断是否为目录 @@ -26,6 +30,8 @@ def walk(client, current_path="/", output_file=None, replaceroot=None): except: pass else: + if filetype_re.search(full_path) != None or "BDMV" in full_path: + continue size = client.info(full_path).get('size', 0) if replaceroot!=None: if replaceroot=="": diff --git a/requirements.txt b/requirements.txt index 154c16b..70c6565 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ wsgidav cheroot requests +cachetools diff --git a/webdav_simulator.amd64 b/webdav_simulator.amd64 index de28e68..88b5786 100644 Binary files a/webdav_simulator.amd64 and b/webdav_simulator.amd64 differ diff --git a/webdav_simulator.arm64 b/webdav_simulator.arm64 index e221c3c..6771947 100644 Binary files a/webdav_simulator.arm64 and b/webdav_simulator.arm64 differ diff --git a/webdav_simulator.exe b/webdav_simulator.exe index da08bf8..e060788 100644 Binary files a/webdav_simulator.exe and b/webdav_simulator.exe differ