def add_missing_contract_to_database(data: dataBlob, contract_to_add: futuresContract): diag_contracts = diagContracts(data) update_contracts = updateContracts(data) instrument_code = contract_to_add.instrument_code contract_date_str = contract_to_add.date_str if diag_contracts.is_contract_in_data(instrument_code, contract_date_str): contract_to_add = diag_contracts.get_contract_object( instrument_code, contract_date_str ) # Mark it as sampling contract_to_add.sampling_on() # Add it to the database # We are happy to overwrite update_contracts.add_contract_data( contract_to_add, ignore_duplication=True) log = data.log.setup(instrument_code=instrument_code) log.msg( "Contract %s now added to database and sampling" % str(contract_to_add))
def add_new_contract_with_sampling_on(contract_to_add: futuresContract, data: dataBlob): data_contracts = dataContracts(data) # Mark it as sampling contract_to_add.sampling_on() # Add it to the database # Should not be any duplication to ignore data_contracts.add_contract_data(contract_to_add, ignore_duplication=False) log = contract_to_add.specific_log(data.log) log.msg("Contract %s now added to database and sampling" % str(contract_to_add))