"""Metadata transformation module.""" from datetime import date, datetime, timezone def transform_metadata(product_metadata): """Transform release metadata from graphQL into ddex rdr formatted metadata.""" current_date = date.today() current_datetime = datetime.now(timezone.utc) transformed_metadata = {} transformed_metadata['message_thread_id'] = product_metadata.get('productId') transformed_metadata['message_id'] = build_message_id(product_metadata.get('productId'), current_datetime) transformed_metadata['message_created_date_time'] = current_datetime.isoformat() transformed_metadata['message_notification_period_start'] = current_date transformed_metadata['message_notification_period_end'] = current_date return transformed_metadata def build_message_id(product_id, current_datetime): """Build ddex rdr formatted message_id element.""" release_created_datetime = current_datetime.strftime('%Y%m%d_%H%M%S') return f'{product_id}_{release_created_datetime}'