Hi Folks -
I'm running into a weird issue where when I add two if conditionals, the portion of code following the second if conditional when true does not execute.
For instance, this code works fine:
In the interest of space, I've only copied int he portion where I added the if conditionals (Violated & ApproachingSLA).
I'm running into a weird issue where when I add two if conditionals, the portion of code following the second if conditional when true does not execute.
For instance, this code works fine:
def sendemail(email, data): ret = '' try: me = '[email protected]' # You can update the helpdesk mail address. my_password = 'pass' # Mailbox Password you = email msg = MIMEMultipart('alternative') msg['Subject'] = 'WARNING: Unassigned Request Type(s) and/or Catagory(ies) and/or Subcategory(ies) etc : ' + time.strftime('%c') msg['From'] = me msg['To'] = email html = data part2 = MIMEText(html, 'html') msg.attach(part2) s = smtplib.SMTP_SSL('server') # Mail Server Host name s.login(me, my_password) s.sendmail(me, you, msg.as_string()) s.quit() ret = 'success' except smtplib.SMTPException as err: print ('Unable to Send emails : ', err) ret = 'failure' return ret reportJson = str(sys.argv[1]) json_data = open(reportJson).read() data = json.loads(json_data) counter = 0 techEmail = '' message = \ """<html><html><head><style>table {font-family: arial, sans-serif;border-collapse: collapse;width: 100%;}td, th {border: 1px solid #dddddd;text-align: left;padding: 8px;}tr:nth-child(even) {background-color: #dddddd;}</style></head><body><table><tr><th>RequestID</th><th>Site</th><th>RequestType</th><th>Status</th><th>Requester</th><th>Subject</th></tr>""" length = len(data) for dObj in data: requestID = dObj.get('requestid') site = dObj.get('site') RequestType = dObj.get('RequestType') status = dObj.get('status') requester = dObj.get('requester') subject = dObj.get('subject') Violated = dObj.get('Violated') ApproachingSLA = dObj.get('ApproachingSLA') TechnicianUpdated = dObj.get('TechnicianUpdated') email = dObj.get('email') if RequestType is None: RequestType = 'Not Assigned' if counter == 0: techEmail = email counter += 1 if techEmail == email: message += \ """<tr><td>""" \ + requestID + """</td><td>""" + site + """</td><td>""" + RequestType + """</td><td>""" \ + status + """</td><td>""" + requester + """</td><td>""" \ + subject + """</td></tr>""" if counter == length: message += '</table></body></html>' r = sendemail(techEmail, message) print(techEmail) else: message += '</table></body></html>' r = sendemail(techEmail, message) print(techEmail) techEmail = email message = \ """<html><head><style>table {font-family: arial, sans-serif;border-collapse: collapse;width: 100%;}td, th {border: 1px solid #dddddd;text-align: left;padding: 8px;}tr:nth-child(even) {background-color: #dddddd;}</style></head><body><table><tr><th>RequestID</th><th>Site</th><th>RequestType</th><th>Status</th><th>Requester</th><th>Subject</th></tr><tr><td>""" \ + requestID + """</td><td>""" + site + """</td><td>""" + RequestType + """</td><td>""" \ + status + """</td><td>""" + requester + """</td><td>""" \ + subject + """</td></tr>""" if counter == length: message = \ """<html><head><style>table {font-family: arial, sans-serif;border-collapse: collapse;width: 100%;}td, th {border: 1px solid #dddddd;text-align: left;padding: 8px;}tr:nth-child(even) {background-color: #dddddd;}</style></head><body><table><tr><th>RequestID</th><th>Site</th><th>RequestType</th><th>Status</th><th>Requester</th><th>Subject</th></tr><tr><td>""" \ + requestID + """</td><td>""" + site + """</td><td>""" + RequestType + """</td><td>""" \ + status + """</td><td>""" + requester + """</td><td>""" \ + subject + """</td></tr></table></body></html>""" r = sendemail(techEmail, message) print(techEmail) if(r=="success"): print("Reports sent successfully to the respective techs") else: print("Unable to send reports")However when I add (2) if conditionals to the beginning of the loop, even though the second if conditional is true, it doesn't continue to execute.
In the interest of space, I've only copied int he portion where I added the if conditionals (Violated & ApproachingSLA).
if RequestType is None: RequestType = 'Not Assigned' if Violated == 'No': if ApproachingSLA == 'Yes': if counter == 0: techEmail = email counter += 1 if techEmail == email:Any idea why? Thanks!