fix adv upload
This commit is contained in:
parent
e68000d97c
commit
f70349560d
1 changed files with 12 additions and 1 deletions
13
main.py
13
main.py
|
|
@ -8,6 +8,7 @@ import os
|
|||
import re
|
||||
import json
|
||||
import io
|
||||
import socket
|
||||
import stat as stat_mod
|
||||
import time
|
||||
from datetime import datetime
|
||||
|
|
@ -112,6 +113,7 @@ ADV_SFTP_PORT = int(os.getenv("ADV_SFTP_PORT", "22"))
|
|||
ADV_SFTP_USER = os.getenv("ADV_SFTP_USER", "fssservice")
|
||||
ADV_SFTP_PASSWORD = os.getenv("ADV_SFTP_PASSWORD", "")
|
||||
ADV_SFTP_REMOTE_DIR = os.getenv("ADV_SFTP_REMOTE_DIR")
|
||||
ADV_SFTP_CONNECT_TIMEOUT = float(os.getenv("ADV_SFTP_CONNECT_TIMEOUT", "10"))
|
||||
|
||||
# Per-country SFTP overrides. Each country can target a different host.
|
||||
# JSON map keyed by lowercase country code; any omitted field falls back to the
|
||||
|
|
@ -183,10 +185,19 @@ def open_adv_sftp(cfg: dict):
|
|||
raise HTTPException(500, f"ADV SFTP remote_dir not configured for host {cfg.get('host')}")
|
||||
if not cfg.get("password"):
|
||||
raise HTTPException(500, f"ADV SFTP password not configured for host {cfg.get('host')}")
|
||||
transport = paramiko.Transport((cfg["host"], cfg["port"]))
|
||||
print(
|
||||
f"[ADV SFTP] Connecting to {cfg['host']}:{cfg['port']} "
|
||||
f"as {cfg['user']} (timeout={ADV_SFTP_CONNECT_TIMEOUT}s)",
|
||||
flush=True
|
||||
)
|
||||
sock = socket.create_connection((cfg["host"], cfg["port"]), timeout=ADV_SFTP_CONNECT_TIMEOUT)
|
||||
transport = paramiko.Transport(sock)
|
||||
transport.banner_timeout = ADV_SFTP_CONNECT_TIMEOUT
|
||||
transport.auth_timeout = ADV_SFTP_CONNECT_TIMEOUT
|
||||
_enable_legacy_ssh(transport)
|
||||
transport.connect(username=cfg["user"], password=cfg["password"])
|
||||
sftp = paramiko.SFTPClient.from_transport(transport)
|
||||
print(f"[ADV SFTP] Connected to {cfg['host']}:{cfg['port']}", flush=True)
|
||||
return transport, sftp
|
||||
|
||||
def sftp_ensure_dir(sftp, remote_dir: str):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue