"""FTPS (explicit TLS) transport — inherits FTP transport behavior.""" from __future__ import annotations import ftplib from .ftp_transport import FTPTransport class FTPSTransport(FTPTransport): TRANSPORT_SLUG = "ftps" _FTP_CLASS = ftplib.FTP_TLS def _connect(self): conn = self._FTP_CLASS(timeout=self.timeout) conn.connect(self.host, self.port or 21) conn.login(self.username or "", self.password or "") # Enable encryption on the data channel too (most servers require this) conn.prot_p() conn.sendcmd("TYPE I") return conn