File: //opt/af/scripts/download_sftp_data.py
#!/usr/bin/env python3
"""
Skript zum einmaligen Herunterladen von SFTP-Daten.
"""
import os
import sys
import argparse
from dotenv import load_dotenv
# Füge das Hauptverzeichnis zum Python-Pfad hinzu
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from src.utils.sftp_downloader import download_sftp_data
def main():
"""
Hauptfunktion zum Herunterladen von SFTP-Daten.
"""
# Lade Umgebungsvariablen
load_dotenv()
# Parse Kommandozeilenargumente
parser = argparse.ArgumentParser(description="Lädt Daten vom SFTP-Server herunter")
parser.add_argument("--remote-path", default=os.getenv('SFTP_REMOTE_PATH', '.'),
help="Der Pfad auf dem SFTP-Server")
parser.add_argument("--local-dir", default=os.getenv('SFTP_LOCAL_PATH', 'data'),
help="Das lokale Verzeichnis zum Speichern der Dateien")
args = parser.parse_args()
# Lade die Daten herunter
print(f"Lade Daten vom SFTP-Server herunter...")
print(f"Remote-Pfad: {args.remote_path}")
print(f"Lokales Verzeichnis: {args.local_dir}")
if download_sftp_data(args.remote_path, args.local_dir):
print("Daten erfolgreich heruntergeladen!")
return 0
else:
print("Fehler beim Herunterladen der Daten.")
return 1
if __name__ == "__main__":
sys.exit(main())