aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/trade_dataclasses.py30
1 files changed, 9 insertions, 21 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py
index e3fff6db..d46cb846 100644
--- a/python/trade_dataclasses.py
+++ b/python/trade_dataclasses.py
@@ -197,27 +197,20 @@ class BbgDeal(Deal):
def __init_subclass__(cls, table_name: str, insert_ignore=()):
super().__init_subclass__(table_name, insert_ignore)
- # cls._table_name = table_name
- # insert_columns = [c for c in cls.__annotations__ if c not in insert_ignore]
- # place_holders = ",".join(["%s"] * len(insert_columns)
- # cls._sql_insert = f"INSERT INTO {cls._table_name}({','.join(insert_columns)}) VALUES({place_holders})"
- # cls._sql_select = (
- # f"SELECT {','.join(cls.__annotations__)} FROM {cls._table_name} WHERE id=%s"
-
- def stage(self):
- self._insert_queue.append(
- [
- getattr(self, f.name)
- for f in fields(self)
- if f.metadata.get("insert", True)
- ]
- )
+ if table_name == "bonds":
+ cls._bbg_sql_insert = (
+ f"INSERT INTO bond_tickets VALUES({','.join(['%s'] * 20)})"
+ )
+ elif table_name == "cds":
+ cls._bbg_sql_insert = (
+ f"INSERT INTO bond_tickets VALUES({','.join(['%s'] * 20)})"
+ )
@classmethod
def commit(cls):
with cls._conn.cursor() as c:
- c.executemany(cls._sql_insert, cls._insert_queue)
c.executemany(cls._bbg_sql_insert, cls._bbg_insert_queue)
+ c.executemany(cls._sql_insert, cls._insert_queue)
cls._conn.commit()
cls._insert_queue.clear()
@@ -324,11 +317,6 @@ class BondDeal(BbgDeal, table_name="bonds", insert_ignore=()):
asset_class: AssetClass = field(default=None)
bbg_ticket_id: str = None
- def __post_init__(self):
- BondDeal._bbg_sql_insert = (
- f"INSERT INTO bond_tickets VALUES({','.join(['%s'] * 20)})"
- )
-
@classmethod
def from_bbg_line(cls, line: dict):
values = list(line.values())