import settings ################################################################################ # Connnection ################################################################################ conn = psycopg2.connect( host = settings.TABLEAU_HOST, port = 8060, database = "workgroup", user = settings.TABLEAU_USER, password = settings.TABLEAU_PASSWORD) ################################################################################ # Query or email template ################################################################################ query_template = load_template("archive_unused_reports.sql.template") query = query_template.format( archive_window = settings.ARCHIVE_WINDOW, domain = settings.EMAIL_DOMAIN) ################################################################################ # Data to process ################################################################################ curs = conn.cursor() curs.execute(query) records = list_dict([col.name for col in curs.description], curs.fetchall()) email_sort = sorted(records, key = lambda rec: rec['owner_email']) unique_emails = groupby(email_sort, lambda rec: rec['owner_email']) ################################################################################
################################################################################ # Connection ################################################################################ conn = psycopg2.connect(host=settings.TABLEAU_HOST, port=8060, database="workgroup", user=settings.TABLEAU_POSTGRES_USER, password=settings.TABLEAU_POSTGRES_PASSWORD) curs = conn.cursor() ################################################################################ # Template query ################################################################################ query_template = load_template("error_email.sql.template") query = query_template.format(default_owner=settings.CONTACT_HANDLE, hour=settings.EXTRACT_ERROR_WINDOW_HOURS) ################################################################################ # Get query results ################################################################################ curs.execute(query) records = list_dict([col.name for col in curs.description], curs.fetchall()) ################################################################################ # Send emails ################################################################################ body_template = load_template("error_email.html.template") for line in records:
import settings ################################################################################ # Connnection ################################################################################ conn = psycopg2.connect( host = settings.TABLEAU_HOST, port = 8060, database = "workgroup", user = settings.TABLEAU_POSTGRES_USER, password = settings.TABLEAU_POSTGRES_PASSWORD) ################################################################################ # Query or email template ################################################################################ query_template = load_template("archive_unused_reports.sql.template") query = query_template.format( archive_window = settings.ARCHIVE_WINDOW, domain = settings.EMAIL_DOMAIN) ################################################################################ # Data to process ################################################################################ curs = conn.cursor() curs.execute(query) records = list_dict([col.name for col in curs.description], curs.fetchall()) email_sort = sorted(records, key = lambda rec: rec['owner_email']) unique_emails = groupby(email_sort, lambda rec: rec['owner_email']) ################################################################################
################################################################################ # Connection ################################################################################ conn = psycopg2.connect( host = settings.TABLEAU_HOST, port = 8060, database = "workgroup", user = settings.TABLEAU_POSTGRES_USER, password = settings.TABLEAU_POSTGRES_PASSWORD) curs = conn.cursor() ################################################################################ # Template query ################################################################################ query_template = load_template("error_email.sql.template") query = query_template.format( default_owner = settings.CONTACT_HANDLE, hour = settings.EXTRACT_ERROR_WINDOW_HOURS) ################################################################################ # Get query results ################################################################################ curs.execute(query) records = list_dict([col.name for col in curs.description], curs.fetchall()) ################################################################################ # Send emails ################################################################################ body_template = load_template("error_email.html.template")