"""Used for mapping a GRPS genre to an Orchard genre/subgenre.""" import config from constants.sql_queries import (SELECT_FROM_INBOUND_GENRE_MAPPING, SELECT_GENRE_DEFAULTS_FOR_SUBACCOUNT, SELECT_GENRE_DEFAULTS_FOR_VENDOR) from ddex_ingester_common.helpers.rds import run_rds_query def is_itunes_genre(genre_code): """Determine if a genre is from iTunes based on the end of the code.""" return genre_code.endswith('-00') or genre_code.endswith('01') def get_genre_and_subgenre_for_grps_rows( logger, genre_text) -> list: """Lookup Orchard genre and subgenre for the GRPS genre.""" logger.info('Reading genre/subgenre from RDS given GRPS genre.') query_args = (genre_text,) return run_rds_query( logger, config.RDS_HOST, config.RDS_DB_NAME, config.RDS_RW_USER, config.secrets_manager_client.get_cred('rds_read_write_password'), SELECT_FROM_INBOUND_GENRE_MAPPING, query_args, ) def get_default_genre_and_subgenre_for_major_label( logger, vendor_id, subaccount_id) -> list: """Lookup default Orchard genre and subgenre for the vendor/subaccount.""" logger.info('Reading genre/subgenre from RDS given vendor/subaccount.') if subaccount_id: query_args = (vendor_id, subaccount_id) query_text = SELECT_GENRE_DEFAULTS_FOR_SUBACCOUNT else: query_args = (vendor_id) query_text = SELECT_GENRE_DEFAULTS_FOR_VENDOR return run_rds_query( logger, config.RDS_HOST, config.RDS_DB_NAME, config.RDS_RW_USER, config.secrets_manager_client.get_cred('rds_read_write_password'), query_text, query_args, )