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!
