Spaces:
Sleeping
Sleeping
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() | |