aboutsummaryrefslogtreecommitdiffstats
path: root/python/ice.py
blob: 49fbe9c62e541696d47004c6adb1c14901bd580c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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()