Subversion Repositories SmartDukaan

Rev

Rev 20046 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
17757 manas 1
'''
2
Created on 01-Dec-2015
3
 
4
@author: manas
5
'''
6
import MySQLdb
7
import xlwt
8
from datetime import date
9
import smtplib
10
 
11
from email import encoders
12
from email.mime.base import MIMEBase
13
from email.mime.multipart import MIMEMultipart
14
from email.mime.text import MIMEText
15
 
16
DB_HOST = "localhost"
17
DB_USER = "root"
18
DB_PASSWORD = "shop2020"
19
DB_NAME = "dtr"
20
TMP_FILE = "/tmp/Approved_App_Transactions.xls"  
21
 
22
con = None
23
 
24
SENDER = "cnc.center@shop2020.in"
25
PASSWORD = "5h0p2o2o"
26
SUBJECT = "Approved App Transactions Related Data "
27
SMTP_SERVER = "smtp.gmail.com"
28
SMTP_PORT = 587  
29
 
30
APPROVED_TRANSACTIONS="""
31
select approved.transaction_id, approved.transaction_time, approved.app_id,
32
offers.affiliate_offer_id, offers.app_name,  approved.offer_price, approved.final_user_payout 
33
from approved_app_transactions approved join app_offers offers 
34
on approved.app_id=offers.id where retailer_id >0 
35
and date(approved.transaction_time) > %s and 
36
date(approved.transaction_time)  <= %s 
37
order by date(approved.transaction_time)"""
38
 
39
date_format = xlwt.XFStyle()
40
date_format.num_format_str = 'yyyy-mm-dd'
41
 
42
datetime_format = xlwt.XFStyle()
43
datetime_format.num_format_str = 'yyyy-mm-dd HH:MM AM/PM'
44
 
45
default_format = xlwt.XFStyle()
46
 
47
def getDbConnection():
48
    return MySQLdb.connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
49
 
50
def generateApprovedTransactionReport():
51
    conn = getDbConnection()
52
    cursor = conn.cursor()
53
    cursor.execute(APPROVED_TRANSACTIONS,('2015-08-01','2015-11-30'))
54
    result = cursor.fetchall()
55
    global workbook
56
    workbook = xlwt.Workbook()
57
    worksheet = workbook.add_sheet("User")
58
    boldStyle = xlwt.XFStyle()
59
    f = xlwt.Font()
60
    f.bold = True
61
    boldStyle.font = f
62
    column = 0
63
    row = 0
64
 
65
    worksheet.write(0,0,'Transaction Id')
66
    worksheet.write(0,1,'Transaction Time Stamp')
67
    worksheet.write(0,2,'App Id')
68
    worksheet.write(0,3,'App Offer Id')
69
    worksheet.write(0,4,'App Name')
70
    worksheet.write(0,5,'Offer Price')
71
    worksheet.write(0,6,'User Payout Amount')
72
    for r in result:
73
        row += 1
74
        column = 0
75
        for data in r :
76
            if column==1:
77
                worksheet.write(row, column, str(data))
78
            else:
79
                worksheet.write(row, column, data)
80
            column += 1
81
 
82
    workbook.save(TMP_FILE)
83
 
84
def sendmail(email, message, fileName, title):
85
    if email == "":
86
        return
87
    mailServer = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
88
    mailServer.ehlo()
89
    mailServer.starttls()
90
    mailServer.ehlo()
91
    msg = MIMEMultipart()
92
    msg['Subject'] = title
93
    msg.preamble = title
94
    html_msg = MIMEText(message, 'html')
95
    msg.attach(html_msg)
96
 
97
    fileMsg = MIMEBase('application', 'vnd.ms-excel')
98
    fileMsg.set_payload(file(TMP_FILE).read())
99
    encoders.encode_base64(fileMsg)
100
    fileMsg.add_header('Content-Disposition', 'attachment;filename=' + fileName)
101
    msg.attach(fileMsg)
102
 
20172 aman.kumar 103
    MAILTO = ['rajender.singh@saholic.com','rajneesh.arora@saholic.com','khushal.bhatia@saholic.com']
20046 rajender 104
    #MAILTO = ['rajender.singh@saholic.com']
17757 manas 105
    mailServer.login(SENDER, PASSWORD)
106
    mailServer.sendmail(SENDER, MAILTO, msg.as_string())
107
 
108
def main():
109
    generateApprovedTransactionReport()
20172 aman.kumar 110
    sendmail(["rajender.singh@shop2020.in","rajneesh.arora@saholic.com","khushal.bhatia@saholic.com"], "", TMP_FILE, SUBJECT)
20046 rajender 111
    #sendmail(["rajender.singh@shop2020.in"], "", TMP_FILE, SUBJECT)
17757 manas 112
 
113
if __name__ == '__main__':
114
        main()
115