diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/upload_bbh_trades.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/python/upload_bbh_trades.py b/python/upload_bbh_trades.py index 3f0d5e29..d3d4a958 100644 --- a/python/upload_bbh_trades.py +++ b/python/upload_bbh_trades.py @@ -49,6 +49,19 @@ def _serialize(obj): return _include_headers_only(obj, headers) +def process_upload(obj): + buf = StringIO() + csvwriter = csv.writer(buf) + csvwriter.writerow(headers) + csvwriter.writerow([obj.get(header, None) for header in headers]) + buf = buf.getvalue().encode() + fname = f'LMCG_BBH_TRADES_P.{obj["Client Reference Number"].replace("_", "")}.csv' + dest = DAILY_DIR / str(datetime.date.today()) / fname + sftp = SftpClient.from_creds("bbh") + sftp.put(buf, fname) + dest.write_bytes(buf) + + if __name__ == "__main__": import argparse @@ -83,13 +96,4 @@ if __name__ == "__main__": except IntegrityError: conn.rollback() else: - buf = StringIO() - csvwriter = csv.writer(buf) - csvwriter.writerow(headers) - csvwriter.writerow([obj.get(header, None) for header in headers]) - buf = buf.getvalue().encode() - fname = f'LMCG_BBH_TRADES_P.{obj["Client Reference Number"].replace("_", "")}.csv' - dest = DAILY_DIR / str(datetime.date.today()) / fname - sftp = SftpClient.from_creds("bbh") - sftp.put(buf, fname) - dest.write_bytes(buf) + process_upload(obj) |
