diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/report_ops/__main__.py | 4 | ||||
| -rw-r--r-- | python/report_ops/sma.py | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/python/report_ops/__main__.py b/python/report_ops/__main__.py index fcf909c6..9b7af168 100644 --- a/python/report_ops/__main__.py +++ b/python/report_ops/__main__.py @@ -129,5 +129,7 @@ if args.send_positions: IRSwaptionPosition, CDXSwaptionPosition, ): - position_report.stage_positions(cob, fund) + for position in position_report.gen_positions(cob, fund): + PositionReport.staging_queue.append(position.serialize("position")) PositionReport.build_buffer(cob, fund, not args.no_upload) + PositionReport.staging_queue.clear() diff --git a/python/report_ops/sma.py b/python/report_ops/sma.py index bb58fe07..0d7fea61 100644 --- a/python/report_ops/sma.py +++ b/python/report_ops/sma.py @@ -159,13 +159,12 @@ class PositionReport(Deal, deal_type=None, table_name=None): cls._query = _sql_query[asset_class] @classmethod - def stage_positions(cls, cob, fund): + def gen_positions(cls, cob, fund): with cls._conn.cursor() as c: params = (cob, fund) if cls not in (TranchePosition,) else (cob,) c.execute(cls._query, params) for row in c: - position = cls.from_query(row._asdict(), cob, fund) - cls.staging_queue.append(position.serialize("position")) + yield cls.from_query(row._asdict(), cob, fund) @classmethod def build_buffer(cls, cob, fund, upload=False): |
