1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-25 22:48:36 +00:00

Add batch del files RPC (#694)

* Add batch del files RPC

* Add pack multi-level files

* Go add pack multi-level files

* Use change set to batch del files

* Improve args

---------

Co-authored-by: 杨赫然 <heran.yang@seafile.com>
This commit is contained in:
feiniks
2024-09-13 14:58:45 +08:00
committed by GitHub
parent b2bde11d89
commit c80bf17efb
15 changed files with 755 additions and 24 deletions

View File

@@ -131,6 +131,37 @@ def test_zip_download():
os.remove(download_dir_path + '/file2.txt')
os.remove(download_dir_path + '/multi_files.zip')
#test zip download mutliple files in multi-level
api.post_file(t_repo_id, file2_path, '/dir', file2_name, USER)
obj_id = {'parent_dir': '/', 'file_list': [file1_name, 'dir/'+file2_name], 'is_windows' : 0}
obj_id_json_str = json.dumps(obj_id)
token = api.get_fileserver_access_token(t_repo_id, obj_id_json_str,
'download-multi', USER)
time.sleep(1)
download_url = base_url + 'zip/' + token
response = requests.get(download_url)
assert response.status_code == 200
download_zipfile_path = download_dir_path + '/multi_files.zip'
with open(download_zipfile_path, 'wb') as fp:
fp.write(response.content)
zipFile = zipfile.ZipFile(download_zipfile_path)
for name in zipFile.namelist():
zipFile.extract(name, download_dir_path)
zipFile.close()
assert os.path.exists(download_dir_path + '/file1.txt')
assert os.path.exists(download_dir_path + '/file2.txt')
with open(download_dir_path + '/file1.txt', 'r') as fp1:
line = fp1.read()
assert line == file1_content
with open(download_dir_path + '/file2.txt', 'r') as fp2:
line = fp2.read()
assert line == file2_content
os.remove(download_dir_path + '/file1.txt')
os.remove(download_dir_path + '/file2.txt')
os.remove(download_dir_path + '/multi_files.zip')
remove_test_files()
api.remove_repo(t_repo_id)