proki-demo / processing /cloud_access.py
ifw-arz's picture
app
655c3fa
raw
history blame
No virus
1.53 kB
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)