Spaces:
Sleeping
Sleeping
File size: 1,553 Bytes
bcad657 bf3b654 bcad657 |
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 |
import requests
import os
import urllib.request
def seafile_list_files(folder_path, library_id, seafile_token):
list_url = f"https://seafile.projekt.uni-hannover.de/api2/repos/{library_id}/dir/?p={folder_path}"
response = requests.get(list_url, headers={"Authorization": f"Token {seafile_token}"})
if response.status_code == 200:
file_list = response.json()
return [file["name"] for file in file_list]
def seafile_download_file(seafile_token, library_id, folder_path, file, target_folder):
list_url = f"https://seafile.projekt.uni-hannover.de/api2/repos/{library_id}/file/?p={folder_path}/{file}"
response = requests.get(list_url, headers={"Authorization": f"Token {seafile_token}"})
download_link = response.content.decode('utf-8').strip('"\n')
if response.status_code == 200:
file_name = os.path.basename(download_link)
if os.path.exists(f"{target_folder}/{file_name}"):
pass
else:
urllib.request.urlretrieve(download_link, f"{target_folder}/{file_name}")
print(f"File downloaded successfully to {target_folder}/{file_name}")
def auto_download(seafile_token):
library_id = "a6911db9-9ec6-42d3-9c2f-ce36b121c5e7"
folder_path = "Messungen"
target_folder = "Messungen"
while True:
file_list = seafile_list_files(folder_path, library_id, seafile_token)
for file in file_list:
seafile_download_file(seafile_token, library_id, folder_path, file, target_folder)
#auto_download()
|