Rev 14452 | Rev 14454 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on Mar 13, 2015@author: amit'''from datetime import date, datetime, timedeltafrom dtr.storage.Mysql import getOrdersAfterDatefrom email import encodersfrom email.mime.base import MIMEBasefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom pymongo.mongo_client import MongoClientimport MySQLdbimport smtplibimport timeimport xlwtclient = MongoClient('mongodb://localhost:27017/')SENDER = "cnc.center@shop2020.in"PASSWORD = "5h0p2o2o"SUBJECT = "DTR User Segmentation report for " + date.today().isoformat()SMTP_SERVER = "smtp.gmail.com"SMTP_PORT = 587def generateFlipkartReco():passdef generateSnapDealReco():curs = getOrdersAfterDate(datetime.now() - timedelta(days=10), 3)db = client.Dtrworkbook = xlwt.Workbook()worksheet = workbook.add_sheet("Snapdeal Reco")boldStyle = xlwt.XFStyle()f = xlwt.Font()f.bold = TrueboldStyle.font = fcolumn = 0row = 0worksheet.write(row, 0, 'Order Id', boldStyle)worksheet.write(row, 1, 'User Id', boldStyle)worksheet.write(row, 2, 'Merchant Order Id', boldStyle)worksheet.write(row, 3, 'Product Title', boldStyle)worksheet.write(row, 4, 'Price', boldStyle)worksheet.write(row, 5, 'Quantity', boldStyle)worksheet.write(row, 6, 'Status', boldStyle)worksheet.write(row, 7, 'Status', boldStyle)worksheet.write(row, 8, 'Cashback Status', boldStyle)worksheet.write(row, 9, 'Our CashBack', boldStyle)worksheet.write(row, 10, 'Sale Date', boldStyle)worksheet.write(row, 11, 'SubtagId', boldStyle)worksheet.write(row, 12, 'Ad Id', boldStyle)worksheet.write(row, 13, 'Affiliate PayOut', boldStyle)worksheet.write(row, 14, 'Affiliate Sale Amount', boldStyle)worksheet.write(row, 15, 'Affiliate Sale Date', boldStyle)for row1 in curs:orderId = row1[0]order = db.merchantOrder.find_one({"orderId":orderId})if order is None:continueprint order["subTagId"]print ordersaleTime = int(time.mktime(datetime.strptime(order['placedOn'], "%b %d, %Y, %I:%M %p").timetuple()))saleTime1 = int(time.mktime((datetime.strptime(order['placedOn'], "%b %d, %Y, %I:%M %p") + timedelta(seconds=-60)).timetuple()))aff = list(db.snapdealOrderAffiliateInfo.find({"subTagId":order["subTagId"]}))for subOrder in order['subOrders']:row += 1worksheet.write(row, 0, orderId)worksheet.write(row, 1, row1[1])worksheet.write(row, 2, order['merchantOrderId'])worksheet.write(row, 3, subOrder['productTitle'])worksheet.write(row, 4, subOrder['amountPaid'])worksheet.write(row, 5, subOrder['quantity'])worksheet.write(row, 6, subOrder['status'])worksheet.write(row, 7, subOrder['detailedStatus'])worksheet.write(row, 8, subOrder['cashBackStatus'])worksheet.write(row, 9, subOrder['cashBackAmount'])worksheet.write(row, 10, subOrder['placedOn'])worksheet.write(row, 11, order['subTagId'])if len(aff)>0:worksheet.write(row, 12, aff[0]['adId'])worksheet.write(row, 13, aff[0]['payOut'])worksheet.write(row, 14, aff[0]['saleAmount'])worksheet.write(row, 15, aff[0]['saleDate'])workbook.save("snapdealreco.xls")def sendmail(email, message, title):if email == "":returnmailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)mailServer.ehlo()mailServer.starttls()mailServer.ehlo()# Create the container (outer) email message.msg = MIMEMultipart()msg['Subject'] = titlemsg.preamble = titlehtml_msg = MIMEText(message, 'html')msg.attach(html_msg)#snapdeal more to be added heresnapdeal = MIMEBase('application', 'vnd.ms-excel')snapdeal.set_payload(file("snapdealreco.xls").read())encoders.encode_base64(snapdeal)snapdeal.add_header('Content-Disposition', 'attachment;filename=snapdealreco.xls')msg.attach(snapdeal)email.append('amit.gupta@shop2020.in')MAILTO = emailmailServer.login(SENDER, PASSWORD)mailServer.sendmail(PASSWORD, MAILTO, msg.as_string())def main():generateSnapDealReco()sendmail(["amit.gupta@shop2020.in"], "", "DTR Affiliate Reco")if __name__ == '__main__':main()