aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/trade_dataclasses.py56
1 files changed, 16 insertions, 40 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py
index 007baabc..1597bd7f 100644
--- a/python/trade_dataclasses.py
+++ b/python/trade_dataclasses.py
@@ -2,7 +2,7 @@ from dataclasses import dataclass, field, fields, Field
from enum import Enum
from io import StringIO
from headers import DealType, MTM_HEADERS, HEADERS
-from csv_headers.citco import GIL
+from csv_headers.citco import GIL, GTL
from typing import ClassVar, Tuple, Union
from decimal import Decimal
from typing import Literal
@@ -437,48 +437,24 @@ class Citco:
@classmethod
def citco_upload(cls):
- if not (cls._citco_queue or cls._citco_trade_queue): # early exit
+ if not cls._citco_queue: # early exit
return
-
- if cls._citco_queue:
- buf = StringIO()
- csvwriter = csv.writer(buf)
- csvwriter.writerow(cls._citco_headers)
- csvwriter.writerows(
- [row.get(h, None) for h in cls._citco_headers]
- for row in cls._citco_queue
- )
- buf = buf.getvalue().encode()
- fname = f"i.innocap_serenitas.{datetime.datetime.now():%Y%m%d%H%M%S}.csv"
- cls._sftp.client.chdir("incoming")
- cls._sftp.put(buf, fname)
- dest = DAILY_DIR / str(datetime.date.today()) / fname
- dest.write_bytes(buf)
- cls._citco_queue.clear()
-
- if cls._citco_trade_queue:
- buf = StringIO()
- csvwriter = csv.writer(buf)
- csvwriter.writerow(cls._citco_trade_headers)
- csvwriter.writerows(
- [row.get(h, None) for h in cls._citco_trade_headers]
- for row in cls._citco_trade_queue
- )
- buf = buf.getvalue().encode()
- fname = (
- f"innocap_serenitas_trades_{datetime.datetime.now():%Y%m%d%H%M%S}.csv"
- )
- cls._sftp.client.chdir("incoming")
- cls._sftp.put(buf, fname)
- dest = DAILY_DIR / str(datetime.date.today()) / fname
- dest.write_bytes(buf)
- cls._citco_trade_queue.clear()
+ buf = StringIO()
+ csvwriter = csv.writer(buf)
+ csvwriter.writerow(cls._citco_headers)
+ csvwriter.writerows(
+ [row.get(h, None) for h in cls._citco_headers] for row in cls._citco_queue
+ )
+ buf = buf.getvalue().encode()
+ fname = f"i.innocap_serenitas.{datetime.datetime.now():%Y%m%d%H%M%S}.csv"
+ cls._sftp.client.chdir("incoming")
+ cls._sftp.put(buf, fname)
+ dest = DAILY_DIR / str(datetime.date.today()) / fname
+ dest.write_bytes(buf)
+ cls._citco_queue.clear()
def citco_stage(self):
- if "citco" in self._table_name:
- self._citco_queue.append(self.to_citco())
- else:
- self._citco_trade_queue.append(self.to_citco())
+ self._citco_queue.append(self.to_citco())
class CitcoProduct(Citco):