softandiron / tinkproject

The programm for collecting data from Tinkoff API and building Excel table.
GNU General Public License v3.0
218 stars 47 forks source link

Отправка результатов файлов на ftp/smb. #66

Open IntelOut opened 2 years ago

IntelOut commented 2 years ago

Для себя еще сделал отправку файлов на FTP. Мне так удобно получать результаты. Единственное, оно сделано через пень колоду. Не так силен я в программировании. :) Сделал по аналогии с использованием ТХТ файла конфига creds.txt где каждая по-строчно прописан: хост, логин, пасс, папка куда складывать файлы. Как вариант внести данные настройки в yaml файл.

В excel_builder.py добавлено:

import os
import ftplib
...
    #FTP send and delete + check for creds.txt
    if os.path.isfile('creds.txt'):
        filename = excel_file_name
        con = ftplib.FTP(host, ftp_user, ftp_password)
        con.cwd(ftp_dir) #
        f = open(filename, "rb")
        send = con.storbinary("STOR "+ filename, f)
        logger.info('Excel file sent to FTP: '+excel_file_name)
        con.close
        if os.path.isfile(excel_file_name):
               os.remove(excel_file_name)
               print("Success: Deleted "+excel_file_name)
        else:
               print(excel_file_name+" - File doesn't exists!")
    else:
        print("No creds.txt file exist, skipping FTP send.")

В версии APIv2 работает. Можно добавить отправку в SMB папку. Как вариант добавление фичи в прод по желанию автора...