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()