"""Handle a scan result.""" import time from config import NR_KAFKA_TOPIC from src.handle_result.kafka_producer_with_avro_schema import KafkaProducerWithAvroSchema def is_nr_file(bucket): """Is this NR File Ingestion bucket.""" return bucket in [ 'test-orcd-bucket', 'dev-neighbouring-rights', 'qa-neighbouring-rights', 'prod-neighbouring-rights' ] def send_scan_result(key, av_result, file_metadata): """Send the scan result to a kafka topic.""" message = { 'filename': key.split('/').pop(), 'event': 'av_complete' if av_result == 0 else 'av_error', 'lastUpdated': str(round(time.time())), 'identityId': file_metadata['identityid'], 'profileId': file_metadata['profileid'], 'originalFilename': file_metadata['filename'] } producer = KafkaProducerWithAvroSchema(NR_KAFKA_TOPIC) producer.produce_message(message)