Esempio n. 1
0
 def update_overlay(overlay_text, dispatch_folder_count, folder_total, dispatch_file_count, file_total, footer):
     if not args.automatic:
         doingstuffoverlay.update_overlay(parent=root,
                                          overlay_text=overlay_text + " folder " +
                                                       str(dispatch_folder_count) + " of " +
                                                       str(folder_total) + "," + " file " +
                                                       str(dispatch_file_count) + " of " +
                                                       str(file_total), footer=footer, overlay_height=120)
     elif simple_output is not None:
         simple_output.configure(text=overlay_text + " folder " +
                                      str(dispatch_folder_count) + " of " +
                                      str(folder_total) + "," + " file " +
                                      str(dispatch_file_count) + " of " +
                                      str(file_total))
     root.update()
Esempio n. 2
0
 def update_overlay(overlay_text, dispatch_folder_count, folder_total,
                    dispatch_file_count, file_total, footer):
     if not args.automatic:
         doingstuffoverlay.update_overlay(
             parent=root,
             overlay_text=overlay_text + " folder " +
             str(dispatch_folder_count) + " of " + str(folder_total) + "," +
             " file " + str(dispatch_file_count) + " of " + str(file_total),
             footer=footer,
             overlay_height=120)
     elif simple_output is not None:
         simple_output.configure(
             text=overlay_text + " folder " + str(dispatch_folder_count) +
             " of " + str(folder_total) + "," + " file " +
             str(dispatch_file_count) + " of " + str(file_total))
     root.update()
def do(settings, reporting, emails_table, sent_emails_removal_queue, time, args, root, batch_number, emails_count,
       total_emails, simple_output):
    from_address = settings['email_address']
    to_address = reporting['report_email_destination']
    to_address_list = to_address.split(", ")
    msg = MIMEMultipart()

    msg['From'] = from_address
    msg['To'] = to_address

    if emails_table.count() != 1:
        msg['Subject'] = "Logs from run at: " + time
        body = "See attached logs"
    else:
        msg['Subject'] = "Log from run at: " + time
        body = "See attached log"

    msg.attach(MIMEText(body, 'plain'))

    if not args.automatic:
        doingstuffoverlay.destroy_overlay()
        doingstuffoverlay.make_overlay(root, "sending reports emails\r" + "email " + str(batch_number) +
                                       " attachment " + str(emails_count) + " of " + str(total_emails))
    else:
        simple_output.configure(text="sending reports emails\r" + "email " + str(batch_number) +
                                     " attachment " + str(emails_count) + " of " + str(total_emails))

    for log in emails_table.all():

        if not args.automatic:
            doingstuffoverlay.update_overlay(root, "sending reports emails\r" + "email " + str(batch_number) +
                                             " attachment " + str(emails_count) + " of " + str(total_emails))
        else:
            simple_output.configure(text="sending reports emails\r" + "email " + str(batch_number) +
                                         " attachment " + str(emails_count) + " of " + str(total_emails))
        root.update()

        filename = log['log']
        attachment = open(filename, "r")

        head, tail = os.path.split(filename)

        part = MIMEBase('application', 'octet-stream')
        part.set_payload(attachment.read())
        if is_binary(filename):
            encoders.encode_base64(part)
        part.add_header('Content-Disposition', "attachment; filename= %s" % tail)

        print("attaching " + filename)
        msg.attach(part)

        sent_emails_removal_queue.insert(log)

    server = smtplib.SMTP(str(settings['email_smtp_server']), str(settings['smtp_port']))
    server.starttls()
    server.login(from_address, settings['email_password'])
    text = msg.as_string()
    print("sending " + str(msg['Subject'] + " to " + str(msg['To'])))
    server.sendmail(from_address, to_address_list, text)
    server.quit()
    if not args.automatic:
        doingstuffoverlay.destroy_overlay()
def do(settings, reporting, emails_table, sent_emails_removal_queue, time,
       args, root, batch_number, emails_count, total_emails, simple_output,
       run_summary_string):
    from_address = settings['email_address']
    email_username = settings['email_username']
    to_address = reporting['report_email_destination']
    to_address_list = to_address.split(", ")
    msg = MIMEMultipart()

    msg['From'] = from_address
    msg['To'] = to_address

    if emails_table.count() != 1:
        msg['Subject'] = "Logs from run at: " + time
        body = run_summary_string + ". See attached logs"
    else:
        msg['Subject'] = "Log from run at: " + time
        body = run_summary_string + ". See attached log"

    msg.attach(MIMEText(body, 'plain'))

    if not args.automatic:
        doingstuffoverlay.destroy_overlay()
        doingstuffoverlay.make_overlay(
            root, "sending reports emails\r" + "email " + str(batch_number) +
            " attachment " + str(emails_count) + " of " + str(total_emails))
    else:
        simple_output.configure(text="sending reports emails\r" + "email " +
                                str(batch_number) + " attachment " +
                                str(emails_count) + " of " + str(total_emails))

    for log in emails_table.all():

        if not args.automatic:
            doingstuffoverlay.update_overlay(
                root, "sending reports emails\r" + "email " +
                str(batch_number) + " attachment " + str(emails_count) +
                " of " + str(total_emails))
        else:
            simple_output.configure(text="sending reports emails\r" +
                                    "email " + str(batch_number) +
                                    " attachment " + str(emails_count) +
                                    " of " + str(total_emails))
        root.update()

        filename = log['log']
        attachment = open(filename, "rb")

        head, tail = os.path.split(filename)

        part = MIMEBase('application', 'octet-stream')
        part.set_payload(attachment.read())
        if is_binary(filename):
            encoders.encode_base64(part)
        part.add_header('Content-Disposition',
                        "attachment; filename= %s" % tail)

        print("attaching " + filename)
        msg.attach(part)
        log['old_id'] = log.pop('id')
        if log['log'].endswith('.zip'):
            log['log'] = log['log'][:-4]
        sent_emails_removal_queue.insert(log)

    server = smtplib.SMTP(str(settings['email_smtp_server']),
                          str(settings['smtp_port']))
    server.ehlo()
    server.starttls()
    if email_username != "" and settings['email_password'] != "":
        server.login(email_username, settings['email_password'])
    text = msg.as_string()
    print("sending " + str(msg['Subject'] + " to " + str(msg['To'])))
    server.sendmail(from_address, to_address_list, text)
    server.quit()
    if not args.automatic:
        doingstuffoverlay.destroy_overlay()