from stat import S_ISREG from serenitas.utils.env import DAILY_DIR from serenitas.utils.remote import SftpClient def download_files(): sftp = SftpClient.from_creds("ice") dst = DAILY_DIR / "ICE_reports" download_sftp_files(sftp, "/", dst) def download_sftp_files(sftp, src, dst): for f in sftp.client.listdir_iter(src): if (f.filename.startswith("ICC_CDSSingleNameClearingEligibleInstruments")) or ( f.filename.startswith("clearingHouseClearingEligibleInstruments") ): continue if S_ISREG(f.st_mode): local_file = dst / f.filename if not local_file.exists(): sftp.client.get(f"{src}/{f.filename}", localpath=local_file) if __name__ == "__main__": download_files()