from djagitit import db class LogParams: log_file = 'weeklysummarystreaming-cea.log' # file path log_rotation = '7 days' # new file every 7 days log_retention = '30 days' # keep files for 30 days log_compression = 'zip' # compress old files log_level = 'INFO' # minimum level to write class Params: clients = [ {'client_key': 174, 'client_name': 'Sony Music', 'color': 'red'}, {'client_key': 146, 'client_name': 'The Orchard', 'color': 'orange'}, ] partners = [ {'partner_key': 1, 'partner_name': 'Spotify'}, {'partner_key': 4, 'partner_name': 'Deezer'}, {'partner_key': 5, 'partner_name': 'Apple Music'}, {'partner_key': 16, 'partner_name': 'Google Play'}, {'partner_key': 27, 'partner_name': 'Amazon Streaming'}, {'partner_key': 60, 'partner_name': 'Prime Music'}, {'partner_key': 61, 'partner_name': 'Amazon Free'}, ] #partner_keys = ",".join(str(partner['partner_key']) for partner in partners) countries = [ {'country_code': 'GR', 'country_name': 'Greece', 'flag': '🇬🇷', 'partners': '1,5,27,60,61'}, {'country_code': 'TR', 'country_name': 'Turkey', 'flag': '🇹🇷', 'partners': '1,5'}, {'country_code': 'FR', 'country_name': 'France', 'flag': '🇫🇷', 'partners': '1,4,5,27,60,61'}, ] def emailParams(country): rdb = db.ReportingDB() mailing_list = rdb.query(f''' select distinct mail from prod_eu_analytics.weeklystreamreport_distro where country_code = '{country['country_code']}' ''') subject = f"Weekly Streaming Report {country['flag']}" sender = 'cea-data@sonymusic.com' sender_alias = 'CEA Data Team' reply_to = 'julien.comte@sonymusic.com' bcc = mailing_list['mail'].tolist() #attachments = [output_file] return {'subject': subject, 'sender': sender, 'sender_alias': sender_alias, 'reply_to': reply_to, 'bcc': bcc, #'attachments': attachments }