import logging from .api import MarkitAPI from .quotes import MarkitQuoteKind logger = logging.getLogger(__name__) if __name__ == "__main__": for asset_class in ( "CD", "ABS", "TRS", ): after = None while True: if data := MarkitAPI.get_data(asset_class, after): for row in data: try: quote = MarkitQuoteKind[asset_class].from_markit_line(row) except ValueError as e: logger.error(f"Couldn't pase {row['quoteid']}: {e}") else: quote.stage() quote.commit() after = f"{row['receiveddatetime']},{asset_class}-9480-{row['quoteid']}" else: break